<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Janek</id>
	<title>Joomla! Documentation - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Janek"/>
	<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/Special:Contributions/Janek"/>
	<updated>2026-08-19T19:15:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Publishing_Workflow_Implementation&amp;diff=450605</id>
		<title>Publishing Workflow Implementation</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Publishing_Workflow_Implementation&amp;diff=450605"/>
		<updated>2017-10-04T07:10:42Z</updated>

		<summary type="html">&lt;p&gt;Janek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top portal heading|color=white-bkgd|text-color=#333|title=&lt;br /&gt;
GSoC 2017 &amp;lt;br /&amp;gt;&lt;br /&gt;
Publishing Workflow}}&lt;br /&gt;
[[Image:Gsoc2016.png|75px|center|link=GSOC 2017]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.x}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The general point of the project is to replace states (trashed, unpublished, published, archived) with a more generic approach, so you can create easily a customized workflow to manage your articles or all other items within a component, which supports the new workflow concept. &lt;br /&gt;
&lt;br /&gt;
You can find conception information about that project in the articles we have published.&lt;br /&gt;
* [https://community.joomla.org/gsoc-2017/3119-publishing-workflow-for-joomla.html First Article]&lt;br /&gt;
* [https://community.joomla.org/gsoc-2017/publishing-workflow.html Second Article]&lt;br /&gt;
&lt;br /&gt;
(*) These articles show the workflow project in the context of &amp;lt;tt&amp;gt;com_content&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prerequirements ==&lt;br /&gt;
&lt;br /&gt;
You have enabled the component &amp;lt;tt&amp;gt;com_workflow&amp;lt;/tt&amp;gt; in the extension manager.&lt;br /&gt;
&lt;br /&gt;
[[File:Enabled component.png|Extension Manager|800px|center]]&lt;br /&gt;
&lt;br /&gt;
== Terms &amp;amp; Definitions ==&lt;br /&gt;
* Workflow - Container of transitions and states.&lt;br /&gt;
* States - Like now published, unpublished etc. but you would create it by yourself&lt;br /&gt;
* Transition - Defines, which state can be changed to another one&lt;br /&gt;
* Condition - It describes when an item with a specific state is published (public accessed), unpublished (only accessed from dashboard) and trashed.&lt;br /&gt;
&lt;br /&gt;
== Implement com_workflow into your extension ==&lt;br /&gt;
The implementation process will be described on the basic of &amp;lt;tt&amp;gt;com_content&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Basics ===&lt;br /&gt;
First of all you have to add the link to the workflow component into your submenu:&lt;br /&gt;
&amp;lt;tt&amp;gt;index.php?option=com_workflow&amp;amp;view=workflows&amp;amp;extension=com_xxx&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;tt&amp;gt;com_xxx&amp;lt;/tt&amp;gt; is the name of your component.&lt;br /&gt;
&lt;br /&gt;
=== Workflow ===&lt;br /&gt;
The entry point would be the &amp;quot;Workflows&amp;quot; list view, that can be found in the backend menu under: &#039;&#039;&#039;Content {{rarr}} Workflows&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Joomla! Default&amp;quot; workflow you see there [reference indicator], mimics the old behaviour that we have in previous Joomla! versions, where articles can be un- / published, trashed and archived.&lt;br /&gt;
&lt;br /&gt;
Besides the obligatory permission settings, a workflow consists of a meaningful title and a description. The &amp;quot;Default&amp;quot; flag indicates that this workflow will be chosen when a new category was created. This means that if not changed, all articles within this category will adhere to that default workflow automatically.&lt;br /&gt;
&lt;br /&gt;
[[File:Workflows.png|Workflows|800px|center]]&lt;br /&gt;
&lt;br /&gt;
As you can see there is one default workflow which comes with a fresh Joomla! installation.&lt;br /&gt;
&lt;br /&gt;
[[File:Add new workflow.png|Add new Workflow|800px|center]]&lt;br /&gt;
&lt;br /&gt;
Let&#039;s click &amp;quot;Manage&amp;quot; on the Joomla! Default workflow and take a look at the States.&lt;br /&gt;
&lt;br /&gt;
=== States ===&lt;br /&gt;
Any given state needs to be matched to one of the three available &amp;quot;conditions&amp;quot; that an article can be in. Those are:&lt;br /&gt;
*Published&lt;br /&gt;
*Unpublished&lt;br /&gt;
*Trashed&lt;br /&gt;
&lt;br /&gt;
The five entries you see in the list should look familiar. You can think of it as looking under the hood if you want. To pick just one example, it seems obvious that an &amp;quot;Archived&amp;quot; article is matched to the &amp;quot;Published&amp;quot; condition.&lt;br /&gt;
&lt;br /&gt;
Like in the Workflow before, we also need to mark a State as Default and then that state will be first one assigned to the item.&lt;br /&gt;
&lt;br /&gt;
[[File:States.png|States|800px|center]]&lt;br /&gt;
[[File:New state.png|New State|800px|center]]&lt;br /&gt;
&lt;br /&gt;
=== Transitions ===&lt;br /&gt;
Our workflow would not be complete without &amp;quot;States”, but we also need some form of ruleset that defines what state comes after the other. It’s where the Transitions come into place.&lt;br /&gt;
&lt;br /&gt;
[[File:Transitions.png|Transitions|800px|center]]&lt;br /&gt;
&lt;br /&gt;
For each transition you can specify access role, which group of users can execute it. In &amp;lt;tt&amp;gt;com_content&amp;lt;/tt&amp;gt; you assign workflows to categories (1:1), so if you create an article within a category, it will get the default state of the workflow, which is assigned to the category. After that user with the correct ACL rights can execute transitions on this article/item to change the state.&lt;br /&gt;
&lt;br /&gt;
[[File:New transition.png|Add new Transition|800px|center]]&lt;br /&gt;
&lt;br /&gt;
== Managing workflows ==&lt;br /&gt;
Table: &amp;lt;tt&amp;gt;#__workflows&amp;lt;/tt&amp;gt;&lt;br /&gt;
Columns:&lt;br /&gt;
* published (status of workflow)&lt;br /&gt;
* title&lt;br /&gt;
* description&lt;br /&gt;
* default - when you choose the default workflow then that one will be selected.&lt;br /&gt;
* created&lt;br /&gt;
* created_by&lt;br /&gt;
* modified&lt;br /&gt;
* modified_by&lt;br /&gt;
&lt;br /&gt;
== Managing states ==&lt;br /&gt;
All you have to do at that part is to select data from table &amp;lt;tt&amp;gt;#__workflow_states&amp;lt;/tt&amp;gt; there we are saving states.&amp;lt;br /&amp;gt;&lt;br /&gt;
Each state has:&lt;br /&gt;
* workflow_id&lt;br /&gt;
* published (status of each state)&lt;br /&gt;
* title&lt;br /&gt;
* description&lt;br /&gt;
* condition (describe condition of assigned item to that state)&lt;br /&gt;
** -2 (Trashed)&lt;br /&gt;
** 0 (Unpublished)&lt;br /&gt;
** 1 (Published)&lt;br /&gt;
&lt;br /&gt;
=== Deleting states ===&lt;br /&gt;
Name of your Helper: &amp;lt;Component Name&amp;gt;Helper.php&lt;br /&gt;
Class Name: &amp;lt;Component Name&amp;gt;Helper&lt;br /&gt;
&lt;br /&gt;
Also you can specify when one of state could be deleted. You can do that be adding static method to your Helper class with name &amp;lt;tt&amp;gt;canDeleteState($stateID)&amp;lt;/tt&amp;gt; which accepts state of id which would be deleted. Method should returns boolean values.&lt;br /&gt;
&lt;br /&gt;
==== Example code: ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
public static function canDeleteState($stateID)&lt;br /&gt;
{&lt;br /&gt;
  $db    = \JFactory::getDbo();&lt;br /&gt;
  $query = $db-&amp;gt;getQuery(true);&lt;br /&gt;
&lt;br /&gt;
  $query-&amp;gt;select(&#039;id&#039;)&lt;br /&gt;
     -&amp;gt;from($db-&amp;gt;qn(&#039;#__content&#039;))&lt;br /&gt;
     -&amp;gt;where(&#039;state = &#039; . (int) $stateID);&lt;br /&gt;
  $db-&amp;gt;setQuery($query);&lt;br /&gt;
  $states = $db-&amp;gt;loadResult();&lt;br /&gt;
&lt;br /&gt;
  return empty($states);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Managing Transitions ==&lt;br /&gt;
Table: &amp;lt;tt&amp;gt;#__workflow_transitions&amp;lt;/tt&amp;gt;&lt;br /&gt;
Columns:&lt;br /&gt;
* published (status of each transition)&lt;br /&gt;
* title&lt;br /&gt;
* description&lt;br /&gt;
* from_state_id&lt;br /&gt;
* to_state_id&lt;br /&gt;
* workflow_id&lt;br /&gt;
&lt;br /&gt;
When you want to run transition on your item, invoke method &amp;lt;tt&amp;gt;runTransitions($pks, $transitions, $extension, $componentTable)&amp;lt;/tt&amp;gt; from WorkflowHelper and also if you want to custom handle running transition then you need to implement method &amp;lt;tt&amp;gt;updateAfterTransaction($stateID)&amp;lt;/tt&amp;gt; in your Helper class which accepts to_state id and should returns boolean value.&lt;br /&gt;
&lt;br /&gt;
==== Example of use ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$runTransaction = WorkflowHelper::runTransitions($pks, $transitions, &amp;quot;com_content&amp;quot;, &amp;quot;#__content&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== WorkflowHelper::runTransitions($pks, $transitions, $extension, $componentTable) ====&lt;br /&gt;
Returns: &#039;&#039;&#039;True when succeeded or False when failure and errors will be thrown&#039;&#039;&#039;&lt;br /&gt;
Arguments:&lt;br /&gt;
;$pks&lt;br /&gt;
:  ids of articles&lt;br /&gt;
;$transitions&lt;br /&gt;
:  ids of transitions&lt;br /&gt;
;$extension&lt;br /&gt;
:  name of extension&lt;br /&gt;
;$componentTable&lt;br /&gt;
:  name of table from where are ids&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039;: If you would like to use default implementation of running transition then your item should have column &amp;lt;tt&amp;gt;state&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Github Project ==&lt;br /&gt;
[https://github.com/joomla-projects/GSoC17_publishing_workflow/tree/0.0.1-basic joomla-projects/GSoC17_publishing_workflow]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Google Summer of Code 2017]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Joomla! 4.x]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Janek</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Publishing_Workflow_Implementation&amp;diff=444374</id>
		<title>Publishing Workflow Implementation</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Publishing_Workflow_Implementation&amp;diff=444374"/>
		<updated>2017-08-29T13:49:02Z</updated>

		<summary type="html">&lt;p&gt;Janek: Created page with &amp;quot;{{Top portal heading|color=white-bkgd|text-color=#333|title= GSoC 2017 &amp;lt;br /&amp;gt; Publishing Workflow}} link=GSOC 2017 &amp;lt;noinclude&amp;gt;{{Joomla versi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top portal heading|color=white-bkgd|text-color=#333|title=&lt;br /&gt;
GSoC 2017 &amp;lt;br /&amp;gt;&lt;br /&gt;
Publishing Workflow}}&lt;br /&gt;
[[Image:Gsoc2016.png|75px|center|link=GSOC 2017]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.x}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The general point of project is to replace states (trashed, unpublished, published, archived) with a more generic approach, so you can create easily a customized workflow to manage your articles or all other items within component, which supports the new workflow concept. &lt;br /&gt;
&lt;br /&gt;
You can find conception information about that project at the articles that we have published.&lt;br /&gt;
* [https://community.joomla.org/gsoc-2017/3119-publishing-workflow-for-joomla.html First Article]&lt;br /&gt;
* [https://community.joomla.org/gsoc-2017/3119-publishing-workflow-for-joomla.html Second Article]&lt;br /&gt;
&lt;br /&gt;
(*) This articles show the workflow project in the context of com_content&lt;br /&gt;
&lt;br /&gt;
== Prerequirements ==&lt;br /&gt;
&lt;br /&gt;
You have enabled the component com_workflow in the extension manager.&lt;br /&gt;
&lt;br /&gt;
[[File:Enabled component.png|Extension Manager]]&lt;br /&gt;
&lt;br /&gt;
== Terms &amp;amp; Definitions ==&lt;br /&gt;
&lt;br /&gt;
* Workflow - Container of transitions and states.&lt;br /&gt;
* States - Like now published, unpublished etc. but you would create it by yourself&lt;br /&gt;
* Transition - Defines, which state can be changed to another one&lt;br /&gt;
* Condition - Its describe when an item with a specific state is published (public accessed), unpublished (only accessed from dashboard) and trashed.&lt;br /&gt;
&lt;br /&gt;
== Implement com_workflow into your extension ==&lt;br /&gt;
The implementation process will be described on the basic of com_content.&lt;br /&gt;
&lt;br /&gt;
=== Basics ===&lt;br /&gt;
First of all you have to add the link to the workflow component into you submenu:&lt;br /&gt;
&amp;lt;code&amp;gt;index.php?option=com_workflow&amp;amp;view=workflows&amp;amp;extension=com_xxx&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While com_xxx is the name of your component.&lt;br /&gt;
&lt;br /&gt;
=== Workflow ===&lt;br /&gt;
&lt;br /&gt;
The entry point would be the &amp;quot;Workflows&amp;quot; list view, that can be found in the backend menu under: &amp;quot;Content &amp;gt; Workflows&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Joomla! Default&amp;quot; workflow you see there [reference indicator], mimics the old behaviour that we know from previous Joomla! versions, where articles can be un- / published, trashed and archived.&lt;br /&gt;
&lt;br /&gt;
Besides the obligatory permission settings, a workflow consists of a meaningful title and a description. The &amp;quot;Default&amp;quot; flag indicates that this workflow will be chosen when a new category was created. This means that if not changed, all articles within this category will adhere to that default workflow automatically.&lt;br /&gt;
&lt;br /&gt;
[[File:Workflows.png|Workflows]]&lt;br /&gt;
&lt;br /&gt;
As you can see there is one default workflow which comes with a fresh Joomla! installation.&lt;br /&gt;
&lt;br /&gt;
[[File:Add new workflow.png|Add new Workflow]]&lt;br /&gt;
&lt;br /&gt;
Let&#039;s click &amp;quot;Manage&amp;quot; on the Joomla! Default workflow and take a look at the States.&lt;br /&gt;
=== States ===&lt;br /&gt;
&lt;br /&gt;
Any given state needs to be matched to one of the three available &amp;quot;conditions&amp;quot; that an article can be in. Those are:&lt;br /&gt;
- Published&lt;br /&gt;
- Unpublished&lt;br /&gt;
- Trashed&lt;br /&gt;
&lt;br /&gt;
The five entries you see in the list should look familiar. You can think of it as looking under the hood if you want. To pick just one example, it seems obvious that an &amp;quot;Archived&amp;quot; article is matched to the &amp;quot;Published&amp;quot; condition.&lt;br /&gt;
&lt;br /&gt;
Like in the Workflow before, we also need to mark a State as Default and then that state will be first one assigned to the item.&lt;br /&gt;
&lt;br /&gt;
[[File:States.png|States]]&lt;br /&gt;
[[File:New state.png|New State]]&lt;br /&gt;
&lt;br /&gt;
=== Transitions ===&lt;br /&gt;
&lt;br /&gt;
Our workflow would not be complete without &amp;quot;States”, but we also need some form of ruleset that defines what state comes after the other. It’s where the Transitions come into place.&lt;br /&gt;
&lt;br /&gt;
[[File:Transitions.png|Transitions]]&lt;br /&gt;
&lt;br /&gt;
For each transition you can specify access role, which group of users can execute it. In com_content you assign workflows to categories (1:1), so if you create an article within a category, it will get the default state of the workflow, which is assigned to the category. After that user with the correct ACL rights can execute transitions on this article/item to change the state.&lt;br /&gt;
&lt;br /&gt;
[[File:New transition.png|Add new Transition]]&lt;br /&gt;
&lt;br /&gt;
== Managing workflows ==&lt;br /&gt;
&lt;br /&gt;
Table: &amp;lt;code&amp;gt;#__workflows&amp;lt;/code&amp;gt;&lt;br /&gt;
Columns:&lt;br /&gt;
* published (status of workflow)&lt;br /&gt;
* title&lt;br /&gt;
* description&lt;br /&gt;
* default - when you choose the default workflow then that one will be selected.&lt;br /&gt;
* created&lt;br /&gt;
* created_by&lt;br /&gt;
* modified&lt;br /&gt;
* modified_by&lt;br /&gt;
&lt;br /&gt;
== Managing states ==&lt;br /&gt;
&lt;br /&gt;
All you have to do at that part is to select data from table &amp;lt;code&amp;gt;#__workflow_states&amp;lt;/code&amp;gt; there we are saving states. Each state has:&lt;br /&gt;
* workflow_id&lt;br /&gt;
* published (status of each state)&lt;br /&gt;
* title&lt;br /&gt;
* description&lt;br /&gt;
* condition (describe condition of assigned item to that state)&lt;br /&gt;
** -2 (Trashed)&lt;br /&gt;
** 0 (Unpublished)&lt;br /&gt;
** 1 (Published)&lt;br /&gt;
&lt;br /&gt;
=== Deleting states ===&lt;br /&gt;
&lt;br /&gt;
Name of your Helper: &amp;lt;Component Name&amp;gt;Helper.php&lt;br /&gt;
Class Name: &amp;lt;Component Name&amp;gt;Helper&lt;br /&gt;
&lt;br /&gt;
Also you can specify when one of state could be deleted. You can do that be adding static method to your Helper class with name &amp;lt;code&amp;gt;canDeleteState($stateID)&amp;lt;/code&amp;gt; which accepts state of id which would be deleted. Method should returns boolean values.&lt;br /&gt;
&lt;br /&gt;
==== Example code: ====&lt;br /&gt;
&amp;lt;source lang=”php”&amp;gt;&lt;br /&gt;
public static function canDeleteState($stateID)&lt;br /&gt;
{&lt;br /&gt;
  $db    = \JFactory::getDbo();&lt;br /&gt;
  $query = $db-&amp;gt;getQuery(true);&lt;br /&gt;
&lt;br /&gt;
  $query-&amp;gt;select(&#039;id&#039;)&lt;br /&gt;
     -&amp;gt;from($db-&amp;gt;qn(&#039;#__content&#039;))&lt;br /&gt;
     -&amp;gt;where(&#039;state = &#039; . (int) $stateID);&lt;br /&gt;
  $db-&amp;gt;setQuery($query);&lt;br /&gt;
  $states = $db-&amp;gt;loadResult();&lt;br /&gt;
&lt;br /&gt;
  return empty($states);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Managing Transitions ==&lt;br /&gt;
&lt;br /&gt;
Table: &amp;lt;code&amp;gt;#__workflow_transitions&lt;br /&gt;
Columns:&lt;br /&gt;
* published (status of each transition)&lt;br /&gt;
* title&lt;br /&gt;
* description&lt;br /&gt;
* from_state_id&lt;br /&gt;
* to_state_id&lt;br /&gt;
* workflow_id&lt;br /&gt;
&lt;br /&gt;
When you want to run transition on your item, invoke method &amp;lt;code&amp;gt;runTransitions($pks, $transitions, $extension, $componentTable)&amp;lt;/code&amp;gt; from WorkflowHelper and also if you want to custom handle running transition then you need to implement method &amp;lt;code&amp;gt;updateAfterTransaction($stateID)&amp;lt;/code&amp;gt; in your Helper class which accepts to_state id and should returns boolean value.&lt;br /&gt;
&lt;br /&gt;
==== Example of use ====&lt;br /&gt;
&amp;lt;source lang=”php”&amp;gt;&lt;br /&gt;
$runTransaction = WorkflowHelper::runTransitions($pks, $transitions, &amp;quot;com_content&amp;quot;, &amp;quot;#__content&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== WorkflowHelper::runTransitions($pks, $transitions, $extension, $componentTable) ====&lt;br /&gt;
Returns: &#039;&#039;&#039;True when succeeded or False when failure and errors will be thrown&#039;&#039;&#039;&lt;br /&gt;
Arguments:&lt;br /&gt;
;$pks&lt;br /&gt;
:  ids of articles&lt;br /&gt;
;$transitions&lt;br /&gt;
:  ids of transitions&lt;br /&gt;
;$extension&lt;br /&gt;
:  name of extension&lt;br /&gt;
;$componentTable&lt;br /&gt;
:  name of table from where are ids&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039;: If you would like to use default implementation of running transition then your item should have column &amp;lt;code&amp;gt;state&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Github Project ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/joomla-projects/GSoC17_publishing_workflow/tree/0.0.1-basic joomla-projects/GSoC17_publishing_workflow]&lt;/div&gt;</summary>
		<author><name>Janek</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:New_transition.png&amp;diff=444373</id>
		<title>File:New transition.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:New_transition.png&amp;diff=444373"/>
		<updated>2017-08-29T13:43:46Z</updated>

		<summary type="html">&lt;p&gt;Janek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Add new Transtiion&lt;/div&gt;</summary>
		<author><name>Janek</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:Transitions.png&amp;diff=444372</id>
		<title>File:Transitions.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:Transitions.png&amp;diff=444372"/>
		<updated>2017-08-29T13:43:12Z</updated>

		<summary type="html">&lt;p&gt;Janek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List of Transitions&lt;/div&gt;</summary>
		<author><name>Janek</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:New_state.png&amp;diff=444371</id>
		<title>File:New state.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:New_state.png&amp;diff=444371"/>
		<updated>2017-08-29T13:42:27Z</updated>

		<summary type="html">&lt;p&gt;Janek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;New State&lt;/div&gt;</summary>
		<author><name>Janek</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:States.png&amp;diff=444370</id>
		<title>File:States.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:States.png&amp;diff=444370"/>
		<updated>2017-08-29T13:40:52Z</updated>

		<summary type="html">&lt;p&gt;Janek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;States&lt;/div&gt;</summary>
		<author><name>Janek</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:Add_new_workflow.png&amp;diff=444369</id>
		<title>File:Add new workflow.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:Add_new_workflow.png&amp;diff=444369"/>
		<updated>2017-08-29T13:39:52Z</updated>

		<summary type="html">&lt;p&gt;Janek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Add new Workflow&lt;/div&gt;</summary>
		<author><name>Janek</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:Workflows.png&amp;diff=444368</id>
		<title>File:Workflows.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:Workflows.png&amp;diff=444368"/>
		<updated>2017-08-29T13:38:38Z</updated>

		<summary type="html">&lt;p&gt;Janek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shows list of workflows.&lt;/div&gt;</summary>
		<author><name>Janek</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=File:Enabled_component.png&amp;diff=444367</id>
		<title>File:Enabled component.png</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=File:Enabled_component.png&amp;diff=444367"/>
		<updated>2017-08-29T13:36:08Z</updated>

		<summary type="html">&lt;p&gt;Janek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Check if you have enabled com_workflow in extension manager&lt;/div&gt;</summary>
		<author><name>Janek</name></author>
	</entry>
</feed>