Enterprise class features

General project discussion. NOT for help questions.
Post Reply
User avatar
fredt
Forum Members
Forum Members
Posts: 144
Joined: Mon Jun 27, 2005 10:36 am

Re: Enterprise class features

Post by fredt »

I love these questions (although I have no answer...). This smells S-O law...

I'd add:
- is any workflow mechanism avail/planned for validating publication (news, pages...) ?
- (how) can one implement replication features between production servers ?
Fido
Forum Members
Forum Members
Posts: 104
Joined: Fri Mar 31, 2006 3:10 pm

Re: Enterprise class features

Post by Fido »

Hello,

I need these features too :

- add workflow validating on user or user's group profile
- then validate content when user post new content with his validating workflow profil

so i'll start develop this features for my project, i wish submit my dev here for testing or for help.

This is the way i think is the best, what do you think about ?

the cycle can be like this :
1) a user add a new content, on click submit, a mail with a direct link to this content is send to the validator
2) the validator receive the mail notification, he open the direct link to the new content to validate et then he can :
- add corrections into the content
- add some notes to the content (via a new text area dedicated to Notes)
then he can submit the content with corrections to the original user or he can submit the content to the webmaster who have to put online this new content
3) or the user receive his content to check it and send to validator again
4) or the webmaster receive a email notification in order to publish the content

On the code side it can be like :
- develop a new module that manage and register a validating cycle for a group of users, in which we can define for a group of users who is the validator and who is the webmaster

- then how put this feature while user add new content for not directly publish but send the new content to the validator and after to the webmaster.

That least point is for me the most difficult bacause i don't have how to implement this without put some code in the original code of cmsms. Or we can develop as a module wich can be "add validating content" so it's can be completlly independant form the original code of cmsms ?

what do you think about this way ?
User avatar
fredt
Forum Members
Forum Members
Posts: 144
Joined: Mon Jun 27, 2005 10:36 am

Re: Enterprise class features

Post by fredt »

Internally we're using the following trick to manage validations: we created a "News_Valid" news category and a not--inmenu (=hidden) page showing only this cat, so people in charge of validation can see and validate it --> they just change the category.

Of course, this is not a *real* workflow - but in my mind, the difference would be as follows :
- "Category" field is hidden
- people create in "News_Draft" category , the "submit" button set category to "News-Valid1"
- validators1 see only these news, their Submit button sets categ to "News-Valid2" - put a new button to "Refuse" and set categ back to "News_Drafts"?
- validators2 see only these news, their Submit button sets categ to "News" - so they're published.

I think you can put all this on one page, and set the Category - _Draft, _Valid1, _Valid2... to be shown according to users' group membership - let's say "Group_for_News_Draft", "Group_for_News_Valid1"... Can someone confirm this point ?

So, you'd have to :
- hide category
- add a "Refuse" button
- set a system to define the flow - "next" and "previous" step. I can post more on this (next week - busy!) if needed.

HTH !
Fido
Forum Members
Forum Members
Posts: 104
Joined: Fri Mar 31, 2006 3:10 pm

Re: Enterprise class features

Post by Fido »

thanks for your fast reply !

it's a good trick you use.

Did you have code it directly in cmsms classes ?

In my case, differents groups of users can have differents validators, so i really need to have a workflow manager.

The second difficult is cmsms don't manage permissions on specific content (i'm not sure but i've tried to do this without succes).

finally the project is oriented for corporate client and must have a "user-friendly" interface to manage this features.

to be continued...
User avatar
fredt
Forum Members
Forum Members
Posts: 144
Joined: Mon Jun 27, 2005 10:36 am

Re: Enterprise class features

Post by fredt »

No, I didn't code anything - we're just changing Categ by hand.

I'm not sure you'd have to hard-code adding/changing buttons, hiding categ... That's probably some smarty thing - but I'm not sure...

"differents groups of users can have differents validators" : do you mean in *same* workflow, some kind on conditional validator ? Or can you just say "User A starts a Workflow_Z instance", so you "know" it will route through Step1_Z, Step2_Z, Step3_Z ?

My basic wflow architecture:
Workflow table : Code ("News"), Label ("Corp News"), Version ("1"), group(s) allowed to create.
Steps table : each step has a Workflow_Code ("News"), Code
("News_Create", "News_Valid_Content", "News_Valid_Look"...) , Label ("News Validation").
Note that Workflow destinations are not coded in the steps, but in their actions.
Actions table : WFlow code ("News"), Step ("News_Valid_Content"), Number (1,2,3... so they be shown in this order), Label ("Validate Content for this News" - so you can generate buttons), Destination_Step, Allowed_Users_for_Next_Step, Hide_Condition, Mail_To_Send.
Mails table : Mail_Code, Subject, Content - for those two, would be fine to have some smarty and/or formula evaluation...

My favorite trick : for each Action, Destination_Step, Allowed_Users and Hide_Condition are evaluated at run-time. So, for Dest_Step : you can decide to code & store in the db:
- "News_Valid_Look" ('direct notation')
- or some kind of this (this is only pseudocode, probably wouldn't work !!) :

Code: Select all

if (some_special_condition = true) {return "ThisDestStep"} else {return "ThatDestStep")
For Allowed_Users, you can set same kind of mechanism to decide to "send" to one/many groups, users...
For Hide_Condition, you can use it to hide the Validation button on 1st April... or if FieldAmount is negative.
This allows to test & decide anything.

The code "knows" which is current step_code and wflow_code, looks for all possible buttons, evals if they're to be shown & their order, and prints them...

But I have NO idea so far about how to create fields on wflow "Pages", and then how to eval them (I mean, to get them back in the code). I'm still thinking about using QCodo (php5 only), but didn't try yet.

As it's for a contract, you'll perhaps have time & money to code it ! Hope you'll be able to share...

Thats All Folks...

...Or perhaps there's a good php wflow engine out there to embed...

HTH !
User avatar
Elijah Lofgren
Power Poster
Power Poster
Posts: 811
Joined: Mon Apr 24, 2006 1:01 am

Re: Enterprise class features

Post by Elijah Lofgren »

bornholtz wrote: Are older versions of pages stored in the database?  Due to regulatory concerns we need to track every version of every page and be able to recreate the site for any point in time.
Check out Archiver: http://dev.cmsmadesimple.org/projects/archiver
I haven't gotten it working, but I think that's because I'm using the SVN version of CMS Made Simple.
Note: I don't have time to take on any more projects. I'm quite busy. I may be too busy to reply to emails or messages. Thanks for your understanding. :)
Fido
Forum Members
Forum Members
Posts: 104
Joined: Fri Mar 31, 2006 3:10 pm

Re: Enterprise class features

Post by Fido »

Nice FredT !

I really like the look of the architecture of your workflow.
I think that the code side can be as you describe.

But for me the essential question is how to implement this in cmsms ?

- as a module
- as a plugin
- in the original code
- can i subclasses the content manager in order to adding this features ?

Can anyone have an answer fro this ?
User avatar
fredt
Forum Members
Forum Members
Posts: 144
Joined: Mon Jun 27, 2005 10:36 am

Re: Enterprise class features

Post by fredt »

Not me...  ;)... I guess it probably would be a module.

It would probably be nice to watch Form Generator module.

But as for code architecture... The Dream Dev Team Will Tell Us !
Fido
Forum Members
Forum Members
Posts: 104
Joined: Fri Mar 31, 2006 3:10 pm

Re: Enterprise class features

Post by Fido »

he he !

yes i wish that The Dream Dev Team tell me the best choice for dev.

Just a last question : the architecture you explain me has been implemented already in cmsms ?

anyway i put feedback on this dev here.

the form gen module seems not work properly, i like more the form builder module that i've tried already.
User avatar
fredt
Forum Members
Forum Members
Posts: 144
Joined: Mon Jun 27, 2005 10:36 am

Re: Enterprise class features

Post by fredt »

Alas, not implemented yet under php... Just was in Lotus Notes, after installing & consulting on workflow products & systems for five years  :D

I perhaps probably forgot some points on this draft, so if you go on, I propose you to work with you on it. I'll probably have some hours for this in May.
Fido
Forum Members
Forum Members
Posts: 104
Joined: Fri Mar 31, 2006 3:10 pm

Re: Enterprise class features

Post by Fido »

yes ! it's a nice idea.

What is you skill level in programming ?

for me, i'm more easy on dev with flash but i play with php since 6 or 7 years.
User avatar
fredt
Forum Members
Forum Members
Posts: 144
Joined: Mon Jun 27, 2005 10:36 am

Re: Enterprise class features

Post by fredt »

I'm not good in programming, having to RTF(php)M every 2 lines...

But I'm quite good in reading, copy-pasting and debugging code.  ;) Oh, and finding solutions for things said to be impossible, too  ;D [because I don't know they're impossible... ;D]
Fido
Forum Members
Forum Members
Posts: 104
Joined: Fri Mar 31, 2006 3:10 pm

Re: Enterprise class features

Post by Fido »

;D so it seems to be a good team, a brain and some arms to code ;-)
Post Reply

Return to “General Discussion”