Custom module without documents

Is there a possibility of defining a module that would not use doctypes to access various features?

My purpose is to create one or more modules that are for systems that do not need, nor require, doctypes, as the data is stored outside of ERPNext/Frappe, and I would like to make it a part of the portal system so I do not need a new portal per application.

Yes, no problem. Without doctypes, the only real function that modules serve (at least that I’m aware of) is namespacing. You can stick non-doctype code in the root of your application or in a module, as is more convenient for you. I don’t believe there’s much functional difference.

In these instances, can I still access roles, etc. so I can use the permissions management?

As far as developing the module, would there be a good starting point? I have limited knowledge of python, so I’m trying to figure out where to start.

What do you mean by permissions management? Permissions in Frappe/ERPNext are all document-oriented, so without documents there are no permissions to manage.

Edited to add: additionally, the portal doesn’t use the permission system for access but rather links documents to accounts by some other factor (usually email address, I believe). If you provide a bit more information about what you’re trying to do, we can probably offer clearer answers.

I’m trying to build a few modules rather than microservice front-ends to manage various tools within a SaaS business. This could also be for a micro-enterprise where they’d want everything on one portal without switching context. Take a thought at Google, where you have GDocs, GMail, Domains, etc. It would be a hell of a lot nicer if EVERYTHING were within a single portal, with a single and consistent permission set.

1 Like

I am wondering if you are using the word “portal” in the general sense, rather than the very specific sense that Frappe gives it.

When you say portal, are you talking about the limited, template-driven document front end that ERPNext offers to users without assigned permissions? Or do you mean something else?

I’m talking about logging into Frappe (ERPNext) and from there, provide one or more sections to the system where various in-house tools are developed for. In this case, as an example, I want to manage permissions for one or more dependent applications (think GDocs; GMail; etc.). Once managed, I want to queue those changes into a feed that can be read and otherwise processed by the downstream system (e.g. permissions against GDocs would update as its permission microservice can absorb the stream from the custom module built within Frappe/ERPNext)

Another use-case here is for certain needs, where a straight pre-built form within ERPNext isn’t complex enough, to build a module where I’ve built my own UI and back it somewhere (even using “docs” within ERPNext, if applicable)

If it’s just a matter of API calls, you can certainly handle all that in a Frappe app.