Requirements needed for field pre processor plugin

18 years 3 months ago #3596 by mikko
Hello

I am planning a new plugin which I call field pre processor. The idea is to intercept the field values before they are saved in the CB database and to do some of the following:

Value modifications
-block editing of fields
-validate against regexps
-RSA encryption (and browser side decryption)

Input redirections
-email updates to a predefined adresses
-make a SOAP call of the update (and enable CB to get updates with SOAP)
-email update notification to all connections

What other functionality does the community see as desirable in this plugin? The development will most likely start during the weekend.

-Mikko

Please Log in to join the conversation.

18 years 3 months ago #3626 by mambocbash
Could you elaborate where this plugin could be of help?
For example ......

Please Log in to join the conversation.

18 years 3 months ago #3627 by mikko
Value modifications can be used for:
-server side field value validation
-enabling additional security to store sensitive data, e.g. social security numbers or credit card numbers
-block editing of fields and redirect the update to an external data repository

The idea is to make one plugin which contains several relatively straight forward data manipulations.

The redicrections can be used to:
-notify friends of changes in your contacts
-update an external database or sychronize users between different CB instances to enable shared login on several sites
-automate updating contacts to external addressboks with vcard

Any more ideas what preprosessing data and notifying it to external party could include?

mikko

Please Log in to join the conversation.

18 years 3 months ago #3628 by rick
Mikko,

The first thing that comes to mind for me is the Login / Registration plugin thing that I requested in the Feature Requests area.

www.joomlapolis.com/component/option,com_joomlaboard/Itemid,38/func,view/id,3245/catid,11/

You mentioned yours would be able to update other tables or fields? If this is so then I am wondering if this idea could be adapted onto something that would have a plugin architecture so that I could upload a plugin for lets say SMF and from then on whenever someone registered into CB your mod would also update SMF.

I'm sure this is not exactly where you were going with this but I feel so strongly that some form of a Login / Registration plugin system is needed. As more and more components require login / authentication the problem is getting to be worse and worse. I feel that this idea would not only help to expand the usability of Joomla / CB but also to expand the Joomla community as a whole as this would fill a big hole that is needed.

Just my 2 cents, thanks for all your hard work,

Rick

Running:
Joomla! 1.0.7 Stable
Community Builder 1.0 rc2
SMF 1.1 RC2

Please Log in to join the conversation.

18 years 3 months ago #3629 by geeffland
I don't know what I can add about Mikko's original question about redirects and field validation... I don't see a personal use currently but there could be something hidden in there... right now I don't think there is much field validation that a 3PD can easily do in CB so that might be nice...

Now that I think about it there might be one use. Martijn and I were discussing a way to make it so phpBB's settings show up in the CB profile and making it so the user can change their settings from CB... We thought of ways we could include SQL in the install to create fields in the comprofiler table and then sync them with phpBB upon updates but we really don't want to add that data to CB as well as phpbb... Maybe this redirect could allow us to show fields on the profile that update fields in another table outside of comprofiler??? Not sure if this fits what you were talking about...

On the login plugin... from working on the phpBB Connector with Martijn I must admit that CB's events for handling registration and loggin in seem to be pretty decent. So I think most of the stuff Rick is talking about can be done today if one has the time. The bigger issue with the login plugin in is knowing which fields and tables need to be sync'd up... I also have some plans on converting our plugin into an SMF plugin (if I ever get time)... my big issue here is that when I import/export users the passwords are encrypted differently in SMF than in Joomla/CB... so I may have to assign passwords at first...

Hope this helps, and sorry for adding some off topic stuff here...

Greg

CB3PD Developer - CB Connector (formerly phpBB Connector) plugin

Please Log in to join the conversation.

18 years 3 months ago #3631 by mikko
After thinking about this for a while, I came up with the following design idea.

The preprosessor plugin will be configured with a set of rules that will be administrated in the backend.

This goes a bit technical now. The plugin will have only one parameter that contains list of the rules. Each rule will be defined as

rulename(fields,whenToApply,parameter1,...,parameterN)

The rule name will tell the the preprosessor what to do, the fields is a comma separated list that describes the fields that should be prosessed.

When to apply describes whether the rule is applied in the frontend or backend or both and wether it applies to new registrations or only user updates. This will be implemented as binary 1=frontend, 2=backend, 4= userregistration, 8=update.

Parameters are special parameters that will be used with the preprosessor rule.

A rule could be an action e.g.

email(username;firstname;lastname,5,admin@joomlapolis.com,some text to email)

to notify the administrator of all new registrations (a bit dumb since it already exists)

Or a modification, e.g.

rsa(creditcardnumber,15,RSA-KEY)

which in this case encrypts the creditcardnumber field. After the modification the original value is replaced with the modified value for all subsequent rules.

I am also planning to implement a simple IF statement to control the flow of the actions.

A primitive plugin framework is possible. It could be implemented by having each action, modification or expression (something that the IF evaluates) in a separate file.

Now, the question is, what kinds of actions and modifications are desired for the first beta?

mikko

Please Log in to join the conversation.

Moderators: beatnantkrileon
Time to create page: 0.500 seconds

Facebook Twitter LinkedIn