A module to recreate the back-end content administration pages where it changes admin/content and adds admin/content/% and admin/content/%/% wildcards for content types and taxonomy terms. This module creates a content admin interface in the form of a menu tree with the use of views and VBO for a dynamic table of content based on the position in the menu tree.
This module effectively brings more of a visual experience that means content authors and administrators can go through a hierarchical menu of data and still know where they are due to the menu's trail. This is focused on mostly more complicated sites with multiple types under a content type.
For instance if a site is being built for product information (Not E-commerce) then there will be a Product content type. Then this has it's direct children in the form of taxonomy terms such as boilers, underfloor heating, wind turbines and spare parts. Then boilers will have biomass boilers, boiler flue systems and combi boilers. Underfloor heating and wind turbines wouldn't have children. Spare parts would then have Filters, feed pipes and so on. From talking to various content administrators in this situation I found what they said most Content Management Systems were lacking was a visual tree where they can click links for each category and sub category to manage content from the back-end as oppose to the obvious solutions out their like taxonomy menu for the front end. You could argue that you can add edit buttons on the front end but the back end needs to provide that easy usability as well.
You can configure which content types to be displayed in the configuration form for the module which is found at admin/config/content/content_admin_tree.
Dependencies for the module are:
CTools
Views
Views Bulk Operations
Search API
Similar modules:
Contextual Administration
Context admin serves the purpose of allowing you to create custom content administration pages. It focuses on adding content admin pages to nodes as menu items. Content Admin Tree servers a different purpose as it focuses on the back-end content navigation. Potentially a feature that could be added to this module would be integration with Context Admin.
Images attached.
Sandbox Project:
http://drupal.org/sandbox/freshwebpie/1854002
Git:
git clone --recursive --branch 7.x-1.x http://git.drupal.org/sandbox/freshwebpie/1854002.git content_admin_tree
cd content_admin_tree
This module is for Drupal 7
Reviews for other projects:
- http://drupal.org/node/1837780#comment-6776652
- http://drupal.org/node/1850716#comment-6781880
- http://drupal.org/node/1852392#comment-6784556
- http://drupal.org/node/1852590#comment-6784608
- http://drupal.org/node/1784482#comment-6860568
- http://drupal.org/node/1863846#comment-6860662
- http://drupal.org/node/1867646#comment-6876014
More Reviews:
Comment | File | Size | Author |
---|---|---|---|
Configuration Form in Overlay. | 10.39 KB | fr3shw3b | |
Content Admin Tree Page in Overlay. | 53.63 KB | fr3shw3b |
Comments
Comment #1
vineet.osscube CreditAttribution: vineet.osscube commentedManual Review:
1) There is no hook_uninstall to remove your custom variables from database like:
content_admin_tree_ .....
in content_admin_tree_form.inc.2) Add .install file to use that hook & use variable_del() to remove custom variables.
Comment #2
tomasbarej CreditAttribution: tomasbarej commentedHi fr3shw3b,
Automatic review: There is no code issue according to the coding standards, good work.
Here's few notes and advices:
Comment #3
fr3shw3b CreditAttribution: fr3shw3b commentedHello tomasbarej,
I'm not fully understanding the second point.
The HTML Markup variables are for prefix and suffix and which markup is used relies on PHP logic.
I could do it in a preprocess function but I don't see the obvious benefit to that.
The markup can be changed easily by altering the prefix and suffix of a menu item.
If this markup was to go into the template file the menu items use then I will need to add the variables
and the PHP logic into the template file for determining what to use.
The Using the theme layer documentation advises not to do this:
http://drupal.org/node/933976
I also found this extract about rendering the taxonomy tree using the theme layer:
I'm still trying to work out how to use the theme layer to build the output string like my method did but I thought i'd
mention it.
The rest of what you said I'm working on, thanks for your advice,
But there's probably something I'm just not getting,
so please enlighten me.
Thanks,
Comment #4
tomasbarej CreditAttribution: tomasbarej commentedI'm sorry that I doesn't came up with a solution for my advices but I understand you that is not so easy to build such a tree and keed it within Drupal theme layer easily overrideable.
Comment #5
fr3shw3b CreditAttribution: fr3shw3b commentedAdded hook uninstall and moved the node type and taxonomy tree menu to the theme layer.
Comment #5.0
fr3shw3b CreditAttribution: fr3shw3b commentedAdded more background information to the issue.
Comment #6
esbenvb CreditAttribution: esbenvb commentedIn the manual review there's very little that catches my eye. Generally good work!
If I should mention a couple of things:
content_admin_tree.module line 109:
The comment here should be something like
Implements hook_form_FORM_ID_alter() for views_exposed_form().
This page explains this: https://drupal.org/node/1354#hookimpl
Also I wonder why you use the triple ='s in the templates like $start === TRUE.
It's not a fault but shouldn't be necessary since it's just true/false checks that could work with stuff like NULL, 1 or 0 as well.
When it comes to the automatic pareview, it shows some trivial code standards issues that should be fixed:
FILE: ...m/content_admin_tree/pareview_temp/includes/content_admin_tree.page.inc
--------------------------------------------------------------------------------
FOUND 4 ERROR(S) AFFECTING 4 LINE(S)
--------------------------------------------------------------------------------
531 | ERROR | Invalid @param data type, expected int but found integer
537 | ERROR | Invalid @param data type, expected int but found integer
540 | ERROR | Invalid @param data type, expected int but found integer
546 | ERROR | Invalid @param data type, expected int but found integer
--------------------------------------------------------------------------------
FILE: ...admin_tree/pareview_temp/templates/content-admin-tree-menu-item.tpl.php
--------------------------------------------------------------------------------
FOUND 1 ERROR(S) AFFECTING 1 LINE(S)
--------------------------------------------------------------------------------
10 | ERROR | File doc comments must be followed by a blank line.
--------------------------------------------------------------------------------
FILE: ...min_tree/pareview_temp/templates/content-admin-tree-views-block.tpl.php
--------------------------------------------------------------------------------
FOUND 1 ERROR(S) AFFECTING 1 LINE(S)
--------------------------------------------------------------------------------
7 | ERROR | File doc comments must be followed by a blank line.
--------------------------------------------------------------------------------
Comment #7
klausimanual review:
<script>alert('XSS');</script>
as term name I get a nasty javascript popup on that pages. You need to sanitize user provided input before printing, please read http://drupal.org/node/28984 again.Removing review bonus tag, you can add it again if you have done another 3 reviews of other projects.
Comment #7.0
klausiAdded and separated project review links.
Comment #8
fr3shw3b CreditAttribution: fr3shw3b commentedThanks,
I have fixed all the areas raised,
In this process I'm learning
lots in terms of what I take for granted to know about and what I actually do and forget.
The reason I have made it it's own project is because I thought the concept was
unique and contains quite a lot of code and processing to be an add-on for an existing
project.
As well as this Context Admin was the only project I could find that is similarly related
but it focuses on using page manager which this module doesn't use, depend or need and
I found it hard to see this module fit in with Context Admin's infrastructure.
I have reviewed three more applications,
The projects have been added to the issue post and are the reviews below:
issue tag PAReview: review bonus added.
issue tag PAReview: security removed.
Sorry, didn't realise you shouldn't remove the security tag, well I know now.
Comment #9
klausiPlease don't remove the security tag, we keep that for statistics and to show examples of security problems.
Comment #10
klausiNow re-adding tag.
Comment #11
klausiGit default branch is not set, see the documentation on setting a default branch.
manual review:
That are not major blockers, so I think this is RTBC. Removing review bonus tag, you can add it again if you have done another 3 reviews of other projects.
Comment #12
fr3shw3b CreditAttribution: fr3shw3b commentedHi,
I've fixed all the issues raised.
Reviewed three more project applications:
http://drupal.org/node/1874650#comment-6889170
http://drupal.org/node/1867646#comment-6889234
http://drupal.org/node/1826272#comment-6889266
Comment #13
klausino objections for more than a week, so ...
Thanks for your contribution, fr3shw3b!
I updated your account to let you promote this to a full project and also create new projects as either a sandbox or a "full" project.
Here are some recommended readings to help with excellent maintainership:
You can find lots more contributors chatting on IRC in #drupal-contribute. So, come hang out and get involved!
Thanks, also, for your patience with the review process. Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.
Thanks to the dedicated reviewer(s) as well.
Comment #14.0
(not verified) CreditAttribution: commentedAdded more reviews