Custom workspace shows nothing

I have created a new workspace as test:

But it seems this functionality is not working yet, right?

It works for me fine.

I recently experienced the same issue and found no solution yet (although I updated everything and now it’s working). Still don’t know what was the cause and how to solve it…

1 Like

May be this reply is helpful for you. Kindly visit this https://discuss.frappe.io/t/unable-to-create-shortcuts-and-charts-on-workspace/85989-results.

Welp, he says he doesn’t have a solution.

This issues still exists in the latest version-14. I did a root cause analysis for why “Custom App” does not appear in the allowed modules list even when explicitly allowed and why the modules list that is returned is different.

  1. Frappe computes the allowed modules based on the Doctype permissions. This disagrees with the notion of having a “Block Module” feature. They are separate concerns and should be computed separately.

    a. Allowed modules computes to ['Setup', 'Contacts', 'Printing', 'Integrations', 'Geo', 'Custom', 'Email', 'Workflow', 'Core', 'Desk', 'HR', 'Support', 'Payroll', 'Quality Management', 'Projects', 'Website', 'Social', 'Telephony', 'Utilities']

    b. Instead, I would expect it should respect (the inverse of) the User’s Block Module table and compute to: ['Custom App', 'Projects']

    c. The Block Modules configuration feature is only about navigation, not about CRUD/ access, which should continue to be computed on a per-doctype/ page/ report level

    d. When the line self.allow_modules.append('Custom App') is added, the Custom App workspace is visible.

    e. “Custom App” does appear in the list of active modules as called by get_active_modules

  2. DocShare / “Everyone” for the Custom App Workspace is ignored and is not a configuration path that will succeed because the share will only work if it is explicitly share with that user.

		self.shared = frappe.get_all(
			"DocShare", {"user": self.name, "read": 1}, distinct=True, pluck="share_doctype"
		)

This fails regardless because the Custom App module is not added to the allowed modules list.

  1. The Allowed Roles and Module on the Workspace are not evaluated by build_permissions, nor are they appended when the Workspace permissions are computed.

  2. The UserPermissions class is not a public API, so any fixes to it will have to be a monkey patch or a contribution. The Workspace class is also private and not accessible with a doctype override API.