TYPO3 user permissions: "read-only" Extension mananger and Templates module - content-management-system

Hi,
I'm looking for a way to set user permissions in the TYPO3 backend (Version 4.5.25 LTS in this special case) as follows:
User should be able to see the modules "Extension Manager" and "Template"
he is not allowed to edit the Templates, only read them (for evaluation or training purpose)
he is not allowed to un/install extensions, languages etc, but read the extension list and the extensions informations provided in the list of installed extension.
Is this possible somehow? I know you can't restrict admin users like that.
Is it possible to extend normal BE users like that? Or is there another way?
Thanks in advance!

This is not possible unless you create an extension for this that hooks into the access right evaluation.
For your usecase, I recommend to put all TypoScript templates into files and give the user read only access to the filesystem.
You can also ship all templates inside an extension, then you just need to share the typo3conf/folder.

Related

Where do I implement the settings html of my TYPO3 extension?

I am currently developing my own TYPO3 extension (in v 9.5.11) and I want to know where I have to reference the Html file that is supposed to open when you click on Admin Tools-->MyExtension in the TYPO3 sidebar.
This completely depends on how you integrated your extension; there are at least two (vanilla, Extbase) ways to make such modules. Where your template file (which is Fluid, not pure HTML) exists depends on the integration and your TypoScript configuration that defines template paths, but by default it would be in your extension, in the sub path Resources/Private/Templates/$controllerName where $controlerName is the name of the controller that renders your plugin.
Note that template paths for frontend and backend are configured separately.
If you use the vanilla way of making backend modules you most likely need to define this template manually, by setting it in the view, in which case it can be placed anywhere you like (but should of course be inside your extension).
Have a look at system extension extensionmanager, where the backend module has some registered controller classes, and methods in ext_tables.php. fx class ListController, with indexAction, unresolvedDependenciesAction, terAction, ... and more methods:
'List' => 'index,unresolvedDependencies,ter,showAllVersions,distributions',
ListController class like all other controller classes uses FLUID views, which is looking for HTML templates inside Resources/Private/Templates/<CONTROLLERNAME>/...
For ListController->indexAction it would be Resources/Private/Templates/List/Index.html where you can use TYPO3 FLUID functionality.
See also https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/BackendModules/TemplateClass/Index.html
Well, It is always recommended to write your question clearly and bit more detail so people can understand quickly.
Anyway as I understand the question, you're talking about view resource file. If you have created your extension with Extension builder, your action file will automatically be generated in the Resource folder.
BE module directory will be Resources/Private/Backend See the example here.
In the TypoScript, you will get the source path this will something look like this.
To check the backend default action, you can see the backend module configuration here. From here you will get better idea which action will be call by default (Probably List action)
In this directory, you will have all the HTML you need. Hope this will help you!

Sulu: Is it possible to limit the available page templates per webspace?

I have a sulu 1.6 installation with multiple webspaces. I have multiple page template definitions in app/Resources/templates/pages, like default.xml, homepage.xml, blog.xml, center.xml.
Is it possible to make for example the center.xml only available for the content of one webspace and not all the others?
UPDATDE:
Where can I change this behaviour in the code, that per webspace only the ones are showing up, that are defined in the webspace.xml? This is really blocking and a super bad user experience, since the template is directly linked together with the configured webspace, but the others do not fit.
Thx a lot!
Andreas
The template is only shown in the dropdown if its .html.twig file exists. So if you use the SuluThemeBundle and only a specific theme implements its .html.twig file the template will not be shown on the other theme aslong as the .html.twig does not exists there.
This feature has not yet been implemented, because not too many people have asked for it...
Since Sulu 2.0 you can limit the template on the webspace using the exclude-templates inside your webspace configuration:
<excluded-templates>
<excluded-template>overview</excluded-template>
</excluded-templates>
Before the only way to limit page templates was to work with themes.

How deactivate templates in AEM without modifying the users permissions

Hi AEM Community I'm trying to deactivate some templates without making changes on the users permissions, I try with the allowedPaths property (for instance using a regex like this: /b/B) but I got an issue, if we copy and paste (on the same path) one page of one of the templates with the restriction on the allowedPaths property you can by-pass the restriction and you will be able to have pages on undesire paths. Any idea of what can I do to fix this? or something new to deactivate templates without modifying the users permissions?
Thanks in advance.
K.
First. I'm assuming you are using the classic template system (not the newest ones, stored under /conf).
I do not recommend you to change your templates programmatically. These are stored in /apps so they are considered 'code' and not 'content'. Also you'll loose any change if you reinstall your AEM packages.
Instead you can use the cq:allowedTemplates property directly in the root of the content tree of your site. You just need to set that property in any point of your content with the list of templates that should be available, any template not in that list wont be available for creating new pages.

Custom Extensions on Managed Chromebooks

I am a developer looking for the best way to set up different schools with their own custom, private extensions (ie School A should be the only one with access to Extension A). Theoretically, I am aware that there are a few ways to get a custom, private extension pushed out on a domain:
Host the .crx on a server and click "Specify a Custom App" in the management console.
Create a Domain App by uploading a zip to the Chrome Web Store
Upload the extension from my developer account to the Chrome Web Store and publish to a single "trusted tester," or make it unlisted
Option (1), hosting the .crx, has not been working. I am not sure why, but the extension is simply not pushing out. I link directly to the crx file, which has the right ID and MIME type, still, no dice. If anyone has any tips or suggestions for getting this to work, I would love to hear them!
Option (2), having the school create a domain app, seems a bit inefficient because it requires all schools to upload their own zip. So essentially I would have to email a zip file to the school, and have them publish it. All updates to the extension will also require a similar process, so this doesn't seem ideal.
I doubt that option (3) would work. If I published to the admin as a "trusted tester", I don't think that the other people in the domain would be able to access it. If it is unlisted, I do not know how an admin could find it in the Chrome Web Store dialog. Also, I would rather avoid security through obscurity.
Has anyone had success with hosting the extension and using the Specify a Custom App feature? Any other suggestions for getting a Custom Extension pushed out by the management console? Thanks so much!
To get option (1) working from the management console, it is important to specify the correct extension id and a valid update xml url (not a crx).
One useful feature Google offers that you can use is getting the extension id and the version from the update request.
For instance, you can create a update.php file that outputs an xml file specific to each extension and version. See http://developer.chrome.com/extensions/autoupdate.html under "Advanced Usage".
For more info on packaging an app or extension for managed chromebooks, see https://support.google.com/chrome/a/answer/2714278?hl=en.

Need to write a admin module in joomla for managing the contents from front end

I am very new to Joomla , i want to write a module for Joomla admin to create a form to add name, title and file upload in the admin side and also i want to manage the list of contents in the list as that of Joomla default behavior. Its quiet easy in Drupal like creating content type and data entered using content tyle can be moderated using views. like thats is there any free modules available in joomla.
For the front end we are providing the data through web services so we no need to worry abut the front end. only cms end with form and records moderations. Please help me out to solve this.
There are a number of extensions that allow you to do this already. They're all listed on the JED, under Forms Extensions.