Description for each module type in suiteCRM - suitecrm

It seems like such a simple thing, but I can't seem to find it anywhere.
There's a couple of dozen of different module types in suiteCRM (sugarCRM CE), but I can't find an explainer file that lists all of them. Not in official application guide or in source code (for example there's nothing about "Line Items")
Does anyone know if a complete list exists somewhere?

There are 3 types of modules.
1) Admin only modules.
2) Core System modules.
3) User modules.
Admin only modules are only visible by admin of SugarCRM. Core system modules like studio ,module builder are back-bone modules of the application so they are not listed to anyone.
Rest modules are users modules, like leads/accounts etc.
They are visible to everyone depends upon their role and role permissions.
you need to see a complete list of modules in 2 locations.
1) include/modules.php
2) custom/application/Ext/include/modules.ext.ph
If you want to see the complete list, there is a global variable called $moduleList. just print it somewhere.

Related

Yeoman sub generators for MEAN application?

I've been playing with Mean.IO (http://mean.io/), and wondered if there was a Yeoman generator (sub-generator?) that I could use to auto-generate code for an "entity" across the entire stack. For example, in the mean.io project there is an "Article" example that contains 7 components related to "Articles" (Model, Controller, Node Routes, Angular Routes/Service/Controller/Views). Is there a generator that will create this "component stack" for a custom entity?
eg, something like:
yo meangenerator:entity 'MyEntity'
would then create 7 different files that tie 'MyEntity' into an existing MEAN application.
Couldn't really find anything that worked how i wanted, so I wrote my own. My first Yeoman generator, as well as first real interaction with github and https://npmjs.org/. Fun!
GitHub:
https://github.com/MartyIce/generator-meancrud
NPM:
https://npmjs.org/package/generator-meancrud
Actually i think they have something similar, like:
$ mean package ThingIWantToModel
Don't know if they created this feature after you asked.
I wonder if we can generate singular controllers, models, and anything else inside this package.
Mean.js (another project that is similar to mean.io) has a great module generator, as does the angular-generator-fullstack project.
I think mean.js is the best, though, as it comes out-of-box with everything you need to actually get started building your application, including user logins, registration, reset password, change password, and a user management interface. Basically, batteries are included and you are ready to get building!

How to design permissions and conditional loading in extjs

Background
I have to migrte a existing javascript application (one page app) to extjs. The display and behavior of the application depends on the users permission.
Current design
The application is divided into plugins, which represent a feature set to which permissions are granted. Each of those plugins consists of a single javascript file. A user can have permissions for one or more plugins. Depending on the permissions, those files are loaded in the head of the page. Each of these plugins will add its entries to the main menu and expose the methods used to drive the application.
The permissions are stored in a mysql database.
ExtJs's default design
In ExtJs the source files contain each a class. During the build process, all .js files are concatenated to yield one big .js file, that contains everything.
What would be the best design approach?
I considered to use custom compilation with sencha cmd, and create that way a .js file for each plugin. Then I could load these plugins the same way I do it now. But this results in a complicated build and deployment process.
I also thought about creating one and only .js file with a standard Ext build process. I would then load the permissions from the server via ajax in order to construct the menu. All the objects and methods would exist, but only those are accessible where the user has permissions.
In my opinion, the second approach is much easier maintainable, but it seens to have a security problem, because everyone could look at the source and find out about the data interfaces exposed on the server and consumed by ajax.
Any comments, ideas or advices are welcome. Thanks !
Number two would be the way to go. If you keep your server side permissions in check (while updating data etc) you only need ExtJS to show/hide menu items based on permissions. That way, malicious users can turn certain plugins/items on or off, but they can never execute something that requires more permissions then they would normally have.

CakePHP multi-site file system organization with shared functions

I have a CakePHP 1.3 mutli-site installation in the server. Each site has its own folder, and they all load the CakePHP core libraries from one same place. This is how it looks like:
[cake] (cake's core libraries)
[sites]
[site 1]
[app]
[plugins]
[vendors]
.htaccess
index.php
[site 2] (also with its own app, plugins and vendors folders)
[site 3] (also with its own app, plugins and vendors folders)
etc
I find myself many times in the situation where I want to implement some functions that I would like to use in all of the apps, but so far I just replicate the code inside each site. I would like to be able to declare those functions in one place and be able to call them from any site. I believe vendors could have something to do with this, but I've been looking in the cookbook and I can't figure out how to use that in my case.
Any help would be much appreciated!
UPATE
So by looking at the vendors, it seems to me (maybe I'm wrong) that it would work in my case if the functions in those vendors files don't need to directly interact with other CakePHP classes (for example Session, Auth, etc). I'll give an example of one of the things I'm trying to do, maybe that helps to understand better what I'm trying.
Each of the sites has its own login system (using cake's Auth). One of the things I want to do is, when a user logs in (the login() function in UsersController is called), have there a function that does some processing with the username of the user, and then calls the Session->flash() function to insert there a message (the message changes depending on that processing the function makes). So this function needs to use the User model and the Session model.
Can I do this using vendors, so I declare this one function (i.e. processLogin()) in a vendor, and all the sites can use that function? If so, how? If not, is there any other way to do this?
Stick them in the vendor folder at the same level of cake and sites, name-spaced under a name of your choice (usually the agency name or other unique identifier).
Examples on loading vendor files in CakePHP 1.3 is explained in the Cookbook here: http://book.cakephp.org/1.3/en/view/943/Loading-Vendor-Files
However, I’d advise upgrading to CakePHP 2, and placing your code in a sub-folder under lib.

Drupal 7 Views and custom Modules?

I have implemented several custom modules which essentially bridge Drupal with some third party applications we build in house.
Now as my knowledge of Drupal grows I am curious to know whether or not it is possible to integrate my modules with Drupal VIEWS for reporting purposes.
My modules connect directly to several MySQL databases on an external server and perform queries and render those results within the context of Drupal.
What I would like to do, is use VIEWS somehow to SELECT and manipulate the query as a Drupal VIEW to avoid having to re-purpose the module queries each time a change is requested.
Basically, is it possible to expose the SQL tables in an external app to one which Drupal VIEWS can pick up? I have googled and found a few suggestions but no one seems to know for sure???
It seems drupal expects all content to be of it's own internal "content type" and thus connected to it's core "node" - is this an assumption VIEWS makes?
I don't want to export my third party data into Drupal "nodes, content types, etc" simply so VIEWS can effectively read and render the results.
Seems to me, this should be possible with a Drupal module bridging the gap somehow???
Cheers,
Alex
You could use data module http://drupal.org/project/data
It gives you option to use views on your custom tables. I hope this helps you.

Team working on Drupal - Tips

I am working on a Drupal site with a few friends. Obviously we can Version control the code... but what do we do to keep each others databases in check?
I have managed to get all the theming into files (contemplate etc), but ideally my views settings, menu settings would be in line also... (Not worried about Content either way as we're just building the framework)
Any suggestions?
Using Features along with Context is very powerful. Context lets you create a "section" for your site. It's best illustrated through an example:
Lets say we define the "Forum" context as anything with the url of forums/*. Context lets us say: "I want to show these three views in the right side bar, only when I am in the "Forums" context.
Now, using Features, we can create "module" define by the context. So, we will end up with a module called "youSite_forums", which will include all the views, blocks, etc. that was define in your Forums context. It also will determine the correct dependencies, as well as Content Types used in the context. All will be bundled up nicely in a module.
As for versioning content such as node, you can user either Node Export, or just do a DB dump using Backup and Migrate. We use these occasionally, but we never have every node versioned in SVN.
Links:
Features
Context
Backup and Migrate
Problem Solutions in Database Migration from Development to Live Sites
You can find some more opinions on this here: Drupal DATABASE deployment strategies?

Resources