By Jan Jaracz on 2017-06-09 22:03 in GSoC 17 Publishing Workflow

Google Summer of Code - Jan Jaracz

 

Hello everyone, I would like to introduce myself at the beginning of the article.

My name is Jan Jaracz and I'm from Poland. Maybe some of you meet me on the JAB conference in Cracow. I'm 20 years old and I will probably study at AGH University in Krakow. I'm part of Google Summer of Code project and joined the Joomla! community. Besides, I’m the team leader of developers group at GóraDobra (Mountain of Good). We are creating portal for volunteers to basically manage tasks. It is like facebook for volunteers. First version of that was working at the WYD (World Youth Day) but we are decided to rewrite whole app into more flexible and functionality version. Maybe you will hear about in the future (I hope so).

Ok, that’s about me. Let’s got to the project that I’m working on.

 

Google Summer of Code

What is the Google Summer of Code? 

This is a project from Google which supports open source organization. This Organizations create a description of a projects and students choose it. After that we create something called project proposals and then mentors (for specific project) and admins choose the best student for project.

 

What is the project about? 

It is named Publishing Workflow. In a few words: I will replace the current states in the Joomla! with a more flexible version.

 

At the moment, we have a few disadvantages with the current states that I am working on to improve it.

- First of all, there are only 4 predefined main states (published, unpublished, archived and trashed) which you cannot change.

- There is no difference between the states in terms of ACL. Everyone with core.edit.state rights can change the state from one state to another even publish uncompleted or buggy article.

 

Terminology of project.

“Workflow” - Container of transition and states.

“States” - Like now published, unpublished etc. but you would create it by yourself

“Transition” - Defines, which state can be changed to another one

“Condition” - Its describe when it is published (public accessed), unpublished (only accessed from dashboard) and trashed.

 

What is the point of the project?

The point of the project is to improve convenience of use states. 

 

Why you will love it?

You will be able to create very complex workflows that would be helpful for every admin.

So if you have many of defined rules on the dashboard then that component is for you.

 

Main features that you will be able to use:

- create unlimited states with custom name and condition.

- create unlimited transition between states that would be performed by specific rules.

- create unlimited workflows for every component.

 

That is the first article of series of project Publishing Workflow, so If you want to know more, just stay in touch.

flowchart 311347 640