Workflow / Approval Process in Dashboard
Permalink 3 users found helpful
As not to completely hijack another thread I figured I'd start this thread about potentially adding a robust workflow / page approval process / message center to the dashboard.
Add your ideas and suggestions and we'll see what we can pull together.
Original Post
<Warning: Wall of Text follows>
I have 42+ content contributors. I was thinking of an easy way for all of us to track:
- Pages pending approval (with one-click admin approval)
- Latest site activity (with page version comments + timestamp)
- Internal dashboard messages (like notices of new functionality / new block options / planned downtime etc.)
Some of that I could do by just inserting a block area on the dashboard page and then whipping up some blocks.
Internal dashboard messages could be a simple content-like block with maybe a message priority level attribute.
Latest site activity would be pretty easy to pull from the DB - showing the pages last updated, who updated them, when, and the version comments. I haven't dived in to the page publishing system - but it's conceivable that such a block could also have the pages pending approval shown as well (although they would need top billing and not hidden in a list)
WORKFLOW
But the main thing that I see is missing is an approval and workflow system. At the moment I've just handed out publishing rights like candy because it is too much trouble to put an approval process in place.
Having a way of not only approving a page, but providing feedback on approval rejection would be extremely beneficial. Then when the person that owns the page logs back in, they have a message about why their page didn't get approved and what they need to fix. Having that information tied to the page version would be even more awesome... although now I'm way out into left field.
Now for Project Management Ideas...
I'm thinking for web development... but here goes. Have the ability to create a project and assign tasks to site members would be nice. Then when those users log in they have access to the project list and see the tasks that they are assigned.
So an example is the creation of an "accounting" section of the website. I create a project, create an editable list of tasks and then assign responsibilities (or have others do that). So Jane is responsible for writing web content for page x, y, and z; Bill is responsible for choosing images for those pages; while Sue has to approve and publish the section.
Super-duper wishlist:
*Project creation / modification / deletion / archive functionality.
*Task creation / assignment / deletion / "finished" / etc functionality.
Drag-n-drop task order.
*Task commenting.
*Task due dates / milestones / project gnatt charts
*Project Team assignment (who has access to the project)
*Project task RSS + project/task comment RSS.
*Project resource file set(s), list of project related files shown on project page.
</end wall of text>
Add your ideas and suggestions and we'll see what we can pull together.
Original Post
<Warning: Wall of Text follows>
I have 42+ content contributors. I was thinking of an easy way for all of us to track:
- Pages pending approval (with one-click admin approval)
- Latest site activity (with page version comments + timestamp)
- Internal dashboard messages (like notices of new functionality / new block options / planned downtime etc.)
Some of that I could do by just inserting a block area on the dashboard page and then whipping up some blocks.
Internal dashboard messages could be a simple content-like block with maybe a message priority level attribute.
Latest site activity would be pretty easy to pull from the DB - showing the pages last updated, who updated them, when, and the version comments. I haven't dived in to the page publishing system - but it's conceivable that such a block could also have the pages pending approval shown as well (although they would need top billing and not hidden in a list)
WORKFLOW
But the main thing that I see is missing is an approval and workflow system. At the moment I've just handed out publishing rights like candy because it is too much trouble to put an approval process in place.
Having a way of not only approving a page, but providing feedback on approval rejection would be extremely beneficial. Then when the person that owns the page logs back in, they have a message about why their page didn't get approved and what they need to fix. Having that information tied to the page version would be even more awesome... although now I'm way out into left field.
Now for Project Management Ideas...
I'm thinking for web development... but here goes. Have the ability to create a project and assign tasks to site members would be nice. Then when those users log in they have access to the project list and see the tasks that they are assigned.
So an example is the creation of an "accounting" section of the website. I create a project, create an editable list of tasks and then assign responsibilities (or have others do that). So Jane is responsible for writing web content for page x, y, and z; Bill is responsible for choosing images for those pages; while Sue has to approve and publish the section.
Super-duper wishlist:
*Project creation / modification / deletion / archive functionality.
*Task creation / assignment / deletion / "finished" / etc functionality.
Drag-n-drop task order.
*Task commenting.
*Task due dates / milestones / project gnatt charts
*Project Team assignment (who has access to the project)
*Project task RSS + project/task comment RSS.
*Project resource file set(s), list of project related files shown on project page.
</end wall of text>
ijesssup has written something similar to this. It shows Pending pages.
Have a link? Can't find it with the search.
See file attachments.
Concept art for a message center. Allowing site admins to communicate with other users that have dashboard privileges.
Concept art for change tracker. Allowing users with dashboard access to see the latest edits/updates to the website.
Concept art for a message center. Allowing site admins to communicate with other users that have dashboard privileges.
Concept art for change tracker. Allowing users with dashboard access to see the latest edits/updates to the website.
that's not hard to do, although it some work the good thing is that the database has all those fields that are needed to show these things. Except some that can be added by a blockTable.
Nice ideas... really looking forward to seeing what is produced out of this! Anything I may be able to contribute?
Although, it's all in Japanese....
Yamanoi
http://www.concrete5.org/profile/-/4812/...
just made the simple package that will display the list of Unapproved pages, and the pages that are in edit mode.
http://www.yamanoi.org/concrete5/download/sitemap/...
Yamanoi
http://www.concrete5.org/profile/-/4812/...
just made the simple package that will display the list of Unapproved pages, and the pages that are in edit mode.
http://www.yamanoi.org/concrete5/download/sitemap/...
You can easily search for unapproved pages in the dashboards sitemap search.
just add the attribute 'unapproved' and it will display the pages.
just add the attribute 'unapproved' and it will display the pages.
Heres the block translated :)
This is a very nice addition. Definitely helps me out a bunch.
Thanks katz515 and Mnkras for the wonderful addition.
Now that change tracker idea by glockops really looks like a good idea, even to be included in concrete5 core :) Is there any implementation of this yet? Else I might have a go at this if I have some time.
Now that change tracker idea by glockops really looks like a good idea, even to be included in concrete5 core :) Is there any implementation of this yet? Else I might have a go at this if I have some time.
Thank you katz515 and Mnkras! This will definitely help me out!
removed a typo, added links to allow approving from the "Unapproved pages" tab.
Additionally if you remove these lines from /concrete/tools/check_in.php
and change the 'Preview My Edits'-Button to 'Save My Edits'.
Then you have to restrict the access to the "Unapproved Pages"-tab via advanced permissions and sitemap system pages , remove the "Approve" popup from concrete/tools/page_controls_menu_js.php.
And you have a basic approval process... ;)
Additionally if you remove these lines from /concrete/tools/check_in.php
<?php if ($cp->canApproveCollection()) { ?> <a href="javascript:void(0)" id="ccm-check-in-publish" class="ccm-button-right accept"><span><?php echo t('Publish My Edits')?></span></a> <?php } ?>
and change the 'Preview My Edits'-Button to 'Save My Edits'.
Then you have to restrict the access to the "Unapproved Pages"-tab via advanced permissions and sitemap system pages , remove the "Approve" popup from concrete/tools/page_controls_menu_js.php.
And you have a basic approval process... ;)
Just to fix the link from this approach.
If you site is not on the root of website.
In the file "single_pages\dashboard\sitemap\non_approve.php"
Change
with this
If you site is not on the root of website.
In the file "single_pages\dashboard\sitemap\non_approve.php"
Change
echo " <a href='/index.php?cID=" . $f[3] . "&ctask=approve-recent" . $token . "' target='_blank'>" . t('Approve') . "</a></li>";
with this
echo " <a href='" . DIR_REL . "/index.php?cID=" . $f[3] . "&ctask=approve-recent" . $token . "' target='_blank'>" . t('Approve') . "</a></li>";
Will this work in 5.5?
I am running 5.5.2 on a test site and the package installed successfully on it.
I'm attaching a screenshot - looks like it adds 2 new items under the Sitemap heading: Edited Pages and Unapproved Pages
Maybe I'm missing something, but how do I set up a user with editing rights, but not approval rights?
I'm attaching a screenshot - looks like it adds 2 new items under the Sitemap heading: Edited Pages and Unapproved Pages
Maybe I'm missing something, but how do I set up a user with editing rights, but not approval rights?