Preside as Admin only application problem with Admin-user permissions

I have updated a Admin only application to the latest preside version v10.27.28+0008761.

With the existing setup the Admin-user and Groups are not accessable anymore. I have already found out that CMS must be activated so that I can have it available in the admin again.

Even the name is misleading I have activated the cmsUserManager.
settings.features.cmsUserManager.enabled = true;
But the feature depends on “cms” now.
, cmsUserManager = { enabled=true , siteTemplates=[ “*” ], widgets= , dependsOn=[ “cms” ] }

I am able to access the Admin-user after some tweaks but get the error with the cms user welcome Email.
image

My Workaround:

  • activate the features
  • cms/sitetree/sites
  • removed the main menu items from the
  • settings.admin.topNavItems
    But I still have the required roles available in the user groups.
    However, I don’t need CMS/Sitetree/Sites and don’t really want to.

Any recommendations or is this already reported?

Regards
Philipp

This seems like a bug. I think we need to ensure that the correct features are associated here. “cmsUserManagement” is an unfortunate name for it and related to very first days of referring to the admin as “cms”.

Did you play with the core at all to tweak feature dependencies to make this work as expected?

Checking out an admin only application appeared to work well for me but perhaps had failed to go through all the user management bits.

fwiw also, we are working on a reworked admin user administration in upcoming release of the alt-admin-theme. At some point soon we also hope to merge this into the core for the next major release.

I have, but then I keep running into new problems. I am create admins and groups, but then the welcome email doesn’t work.
I was not able to figure out what caused this or which dependency I have missed.

Who knows what problems I or the customer will run into.
I give up. Maybe my app setup caused this and my mix of features is useless.

Thanks

Would rather you didn’t - I can help resolve these issues and I would not expect there to be many/any more. I’ve spun up the admin only template locally and seen the issue you encountered.

Here is a ticket for it and I have done testing to get this up and running with minimal but sensible changes: Jira

Will keep you posted on when this ticket is released.

Fixed in 10.27.30:

https://www.preside.org/release-notes/release-notes-for-10-27-30.html

If you’re not already just using a new blank admin skeleton app, checkout the feature flag combination it uses:

		settings.features.admin.enabled         = true;
		settings.features.datamanager.enabled   = true;
		settings.features.cms.enabled           = false;
		settings.features.sitetree.enabled      = false;
		settings.features.sites.enabled         = false;
		settings.features.assetManager.enabled  = false;
		settings.features.websiteUsers.enabled  = false;
		settings.features.formbuilder.enabled   = false;
		settings.features.multilingual.enabled  = false;
		settings.features.updateManager.enabled = false;

Hi Dom, It didn’t leave me any peace either and you’re right, just giving up is too easy.

I have now invested some more time and have come to the following conclusion.

RecipientTypes are feature-dependent. The “emailCentre” or “admin” feature should be stored here.
Config.cfc line

recipientTypes.adminUser   = {
			  parameters             = [ "known_as", "login_id", "email_address" ]
			, filterObject           = "security_user"
			, gridFields             = [ "known_as", "email_address" ]
			, recipientIdLogProperty = "security_user_recipient"
			, feature                = "cms" // emailCenter or admin
		};

Yes, exactly - there was this + another issue with feature flagging email layout views. Should all be fixed in the latest release.

Hi Dom, I have just found the next problem with the feature setup.

My Admin app uses the Email Center but I can not add widgets to the email content. The problem is that the Widgets.cfc and WidgetService.cfc depends on the feature “cms” and/or “sites”.

In the annotation and within the functions.

Widgets.cfc

/**
 * @feature admin and cms
 */

private query function _getSortedAndTranslatedWidgets( required string categories ) output=false {
		// todo, cache this operation (per locale)
		var unsortedOrTranslated = widgetsService.getWidgets( categories=ListToArray( arguments.categories ) );
		var tempArray            = [];
		var activeSiteTemplate   = isFeatureEnabled( "sites" ) ? siteService.getActiveSiteTemplate() : "";

....

WidgetService.cfc

/**

  • @singleton true

  • @feature cms
    */

    private boolean function _isWidgetEnabled( required string widget, boolean includeSiteTemplate=false ) {
    var featureService = _getFeatureService();
    var widgetFeature = featureService.getFeatureForWidget( arguments.widget );

     if ( widgetFeature.len() ) {
     	return featureService.isFeatureEnabled(
     		  feature       = widgetFeature
     		, siteTemplate  = ( arguments.includeSiteTemplate && featureService.isFeatureEnabled( "sites" ) ? _getSiteService().getActiveSiteTemplate() : NullValue() )
     	);
     }
    
     return true;
    

    }




I manipulated the two components but the “getActiveSiteTemplate” would cause the next problem. I removed the site template from the code but the content would not be rendered in the Email preview after adding the widget…

I can create a new general topic if needed.

Regards
Philipp