Building a bridge between Joomla and eGroupware - joomla

I'm looking to build an integrated login and user management system between Joomla and eGroupware, ideally with Joomla as the driver. That is, users would log in to Joomla and have their credentials passed into eGroupware as well, so that they could follow a link over to eGW and not have to log in again. Also administrators could add new users to Joomla (or update existing user info) and have those changes reflected in eGW as well.
I tried out this component but all I could get it to do was to synchronize passwords between existing users of both systems (matching on their usernames). Documentation is in Portuguese so I might have missed something in translation. Also I've checked out JFusion but it as yet has nothing available for a bridge to eGW.
Any general advice on how to proceed is greatly appreciated. I have some Joomla experience but not much at writing extensions/modules; would it be easier for me to try to adapt JFusion or something like that or to write something myself?

The best approach would be to write two Joomla plugins: one of the authentication type that will create the session in eGW when someone logs into Joomla, then one of the user type that will respond to the onAfterStoreUser event and update the profile in eGW. This way, you won't be hacking either Joomla or eGW. There's a tutorial on creating authentication plugins for Joomla here: http://docs.joomla.org/Tutorial:Creating_an_Authentication_Plugin_for_Joomla_1.5 Creating a user plugin will be a similar process, only you'll be responding to the onAfterStoreUser event.

Related

How can I limit wagtail's site history by site to support multi-tenancy?

I have a multi-tenant wagtail set up and we are currently working on getting up to date. We've just recently upgraded to v2.15 which introduced audit logging for all models instead of just page models.
AFAICT from looking through the wagtail code, the changes for a page model are only visible to superusers or admins with can_add_subpage or can_edit permissions which seems to effectively support multi-tenancy.
However, for all the other models there is no limitation put into effect. This means that an admin for Site A is seeing when changes are made to Site B or anytime a user is added or edited. We are using email addresses as usernames so this presents a rather major privacy issue.
This method hasn't been updated in any newer version, AFAICT, so I don't believe that just upgrading will fix this.
Does anyone have any ideas on either any wagtail settings we can change to keep Site and user changes invisible to non superusers or how we might localize BaseLogEntryManager.viewable_by_user so we can override the default wagtail implementation to our needs?
We have previously done something somewhat similar with the search available to admins by creating our own src/app/templates/wagtailadmin/pages/search.html and creating our own local version of https://github.com/wagtail/wagtail/blob/stable/2.13.x/wagtail/admin/views/pages/search.py
I had thought about trying to do something similar here however that doesn't seem like a good thing to do given how different those circumstances are and I think it was only possible using the register_admin_search_area hook.
I run a fairly large multitenanted Wagtail site. I have made public gist of the code we use in Wagtail 2.16 to restrict reports.
One of the main things we had to patch is the filters on the reports page. We do not want users on one site to even know there are other users in the system. This is implemented in the site_specific_get_users_for_filter method.
Although our non-page models all have site_ids, it was not possible to filter ModelLogEntries in site, so we settled for hiding that report from everyone except superusers.

How to add user-data in JOOMLA?

i wannt to build a website with user management. User should be able to loggin with different accounts, f.e. GMail, Facebook, .....
When the user is logged in he/she can upload pictures with geolocation data and some text.
All uploaded geolocations should be visualized on something like google-maps.
Unregisterd users can view the map, but can not change the data or upload anything.
To solve this requirement i decided to use JOOMLA 2.5. with the "plugin_googlemap_J25_J3x.v3.2" plugin.
Everything i know about JOOMLA is what i learned the last two days.So i am very new to it.
Currently i am stuck, because i do not know how to save the user-data (pictures with geolocation data and some text) in JOOMLA.
I asked google! For more than an hour now! Could not find anything, related to that topic!
So my concrete questions are:
I suppose it is not possible to extend the JOOMLA user data database with the user-data, or?
If this is not possible, than i need a second database which holds the user-data, or?
Does anyone knows a tutorial which solves this problem?
I found someting for wordpress "http://codecanyon.net/item/privatecontent-user-data-addon/2399731"
but i have to check if this solves my requirements.
Thanks
Try this,
First make a list of your requirement then go to JED(Joomla extension Directory). search for related extensions.
Here from your requirement ,
You need a Customized Joomla Registration form
Social Media logins
And so on, so check the details of requirement and extension available, In any way you may need some customization on the Application then you can create some plugins for Users events.
Hope it helps..

How to disable registration email in joomla 2.5 and 3

When registering a new Joomla user, an email is sent to the new users email address containing the username and password. Does anyone know how to disable this functionality, so that new users does not recieve this email?
Note
Important to note that there are two scenarios to consider, each with different answers.
Scenario 1) An unregistered user registers a new user account for me#foo.com by using the frontend, where me#foo.com represents the user's own email address.
Scenario 2) An admin registers a new user account for her#foo.com using the backend, where her#foo.com represents someone else's email address (i.e. the email address of the account you are trying to create).
Based on comments from the OP, this question is targeting situation 2 - i.e. in this situation we do NOT want Joomla! sending emails to her#foo.com after creating an account for her in the backend.
Solution to Scenario 2
Login to the admin backend and then go to Extensions -> Plugin Manager.
From the Plugin Manager, locate the the plugin called User - Joomla! (Plugin type is user and Element aka Plugin file is joomla). Click on the title of the plugin to go into the configuration for this plugin.
Set Notification Mail to User to No.
Click Save.
References
plugins/user/joomla/joomla.xml
administrator/language/en-GB/en-GB.plg_user_joomla.ini
Rant
Finding this setting feels like discovering an easter egg. After you do find it you will see the seemingly straightforward description of the configuration setting, which, after rolling your mouse over the text at a moderate but not-too-fast velocity, triggers a popup balloon to begin a mocking fade in sequence, which, after finished, explains to you in a condescending tone exactly what the setting does. But before you've found this, you've most likely already visited the global configuration and played around with the email disable function there (but why would you want to globally disable emailing??), and you've probably also visited the User Module configuration, which also has a suspiciously named email configuration setting which however NOT apply to this situation (e.g. see http://www.inmotionhosting.com/support/edu/joomla-25/users/prevent-new-user-email-notification). You might have also searched around on the Internet and found some forum posts which suggest to disable this by hacking the Joomla! core (e.g. http://forum.joomla.org/viewtopic.php?t=280282). Seriously, with the recent discovery of the location of this configuration parameter I have to wonder what kind of altered state of mind the Joomla! folks had to have been in in order to come up with some of the weird ways in which things are organized in this strangely convoluted piece of software.
Check this,
In Joomla 3.x and Joomla 2.5 there is option for avoid sending username/password to the new registered users.
You can check this,
Login to admin -> Users Menu - > Options from tool bar -> Send Password (Yes/No).
Customizing core file do not recommended.
Hope its helps..

Joomla component development (working with tables, users, configuration)

I need to develop an extension for a Joomla website which should have this functionality:
create and work with tables
work with the current user object
determine user permissions and type (registered or guest).
need to provide configuration options for different parameters
Can someone point me where I can find the relevant information?
The building block for a Joomla extension is the so called component. It's important to understand the different extension types. If you don't know how things are called, you don't know what to search.
My advice is to first experiment with existing tutorials. Focus on understanding Joomla and not on fulfilling your specifications.
Creating a component
First step would be to build a basic component. There are numerous tutorials. Developing a MVC Component. Building Joomla Components.
Current user object
Read the basics on Accessing the current user object
Determine user permissions
This is rather a complicated thing to grasp at the first time. Read on the subject by searching for Joomla ACL - Access Control List.
Providing options in the component
Short introduction is provided at How to get component parameters?

Joomla: Set up workflows so articles have to pass by an editor before publishing?

We need for articles to pass by an editor before getting published. Some pages need to pass by two different people. This is beyond the contributor/author/editor roles in the Joomla core, I think, because edits to existing pages need to be held for approval, during which time the original page needs to remain live.
Is this possible in Joomla 3.x?
An extension like this may help you
and other options are also ther use 3rd party software like processmaker and integrate it in JOOMLA in iframe and LDAP to verify users.
open source version of processmaker is available and free to use

Resources