How does Drupal provide an edit/review/publish model? - drupal

How does Drupal support a means to update and review a website before it is published?
Does it only allow you to preview a page at a time before you publish it or is there a way to create a site with multiple pages, review it and then publish it?
Is it best or easiest to create two Drupal Sites and push the contents of one to the other regularly (as a publish method)?

There are some modules that allow this functionality on a single site. The workflow module allows you to invoke hooks when content types are created, edited, published, ect. I use this on a production site to notify me when new content is created so I can publish it. Another module is the revision moderation module. You can allow users to edit nodes, but new revisions go into a queue for approval instead of being published immediately.

You can preview each page at a time before publishing it, but that is generally-user controlled. Sounds like you want more of a 'writer submits to editor who proofs and publishes' model?
Workflow module is all you need for that functionality. It will also involve a couple user roles (writer, editor, etc.). This is a model done many times, you can do it fairly easily.
2.5 Also Modr8 (Moderate) module may be simpler for you: http://drupal.org/project/modr8
Running a test site is more appropriate for site (code) development, not so much for just publishing content.

The workflow module will help you achieve this. It interacts with the actions module.
I set up two roles: writer and editor, the writers submit their content and then the editors can review and publish the content, if they don't want to publish it they can set it as needs work which means the writer need to redo and then submit the content again before it is reviewed again.
The action module means that the content is accessible by the appropriate roles as the content moves through the workflow.

Related

Drupal publishing

I am working on a Drupal website. It has been designed by someone else.
I want to change the settings from automatically publishing post to not automatically publishing. I set the option in content types, my content type (edit), publishing options. It is set to "not published". Every time I add a new post, it still is published though.
Where is this going wrong? Do I need to change something in the code? if yes, where do I change it?
There are a number of configuration options that could cause this that can be adjusted via the user interface without delving into code.
It's possible that anonymous users have permissions to view unpublished content.
It's also possible that you have a views configured to return results unfiltered by published = true.

publish content after varification by admin

I have created video gallery with help of cck . I have created a content type. Now My requirment is that when user add video it should not be published to all user.When admin active that content then it should be publish.
How can i do this please suggest me if there is any module for that.I am using drupal 6.
Thanks
There is several modules implementing this kind of publication workflow:
Workflow
Content Moderation
Moderation
Revisioning
Modr8
I only have experience with Revisioning which was pretty easy to install and straightforward to use. Workflow seems overkill for a simple publication workflow without a lot of additional features/behaviors.
Revisioning is also the only module to have a Drupal 7 release. Speaking for Drupal 7, once you get there you have the Workbench and Maestro modules.
You could use the Workflow module. Mongolito404 listed some good options for a simple approval workflow. You can also use the Rules if you like.
Help/Tutorials:
Drupal Workflow Automation
How do I set up the Workflow module?
If you choose the Revisioning module, a detailed tutorial on how to set it up can be found at http://drupal.org/node/408968
You don't need any extra modules to do what you need to do.
Just edit your new content type and uncheck Published in the Workflow settings section. This will make all new posts of that type unpublished by default.
Then, as an adminstrator, go to the content list at /admin/content/node and set it to show only items where status is not published.
Edit the unpublished nodes individually to publish them by checking the Publish box under Publishing options.
You could even use Drupal 6's core Triggers and Actions modules to have the site send you an email whenever a new video node is created.

Drupal wrongly allowing access for anonymous users to a single edit page

My Drupal / ubercart install has a bizarre issue. Anonymous users can access an edit page /node/44/edit for s SINGLE node only - an ubercart product. I have created a new version of the node, which does not have the issue. The tabs (view / edit) are also available on the product page to anonymous users. The issue became clear when the page was edited by a spam bot.
Is there any way I can output the decision making process which Drupal makes to the screen? For example can I output the variables to the screen which Drupal uses to make the decision about whether the user has access to a given URL or not?
Thanks in advance.
There may be a better way, but to start, you could create a custom module that implements hook_menu_alter, then dump the contents of the $items array, to see the access callback associated with /node/44/edit or /node/%/edit.
One thing to try would be to "rebuild node permissions" You do this from the admin/content/node-settings page. It might be as simple as the permissions being jacked up, which is rare but does happen sometimes.

Could I use a pre-built CMS or should I build one from the ground-up?

I am working on a project for a client that started out as a simple CMS with pages, posts, and a directory. The client is constantly expanding the scope of this project with requirements for customization of just about everything. As a single developer, I am having trouble keeping up with the clients time-table. I have googled for software packages that might already exist that proved the features my client needs but I have not found anything. Does anyone know of any pre-built software that allows for the following customization or at least better words to describe this type of package?
Here are some examples of the customization that is requested:
A page or directory listing needs to be formatted from an admin-defined template. Within this template there needs to be admin-defined sections that contain admin-defined data types. (This is so the look and feel of the site can be maintained while users can easily build content, add listings, and etc.)
Advertising-tiles need to be able to be defined and populated globally and at page level.
All user generated content, pages, posts, and directory listings need to be associated with user and have flexibility to show all other user generated content for inter-linking between same users content.
Site would need billing/e-commerce system for premium listings, premium posts, advertising tiles, and etc.
Approval system for all user added or edited content (pages, posts, directory listings, etc.)
(asp.net and mvc are definitely preferable)
Site would need billing/e-commerce system
This is the number one reason you should not roll your own. Find an established CMS and take the time to learn to use it.
My dear friend, I've read your question & I may suggest that you should try some open-source CMS software with your own which can generate, display admin-generated templates & other stuffs. You should use the
Pre-bulit CMS software for keeping track of pages.
Your own small customized cms for maintaining templates.
osCommerce (open-source) for eCommerce support.
I've not had a change to use it, and I'm not sure if it will provide for you all of your demands or not, but I've heard a lot of great things about the project. Have you tried the open source project Drupal?

Wordpress or Drupal Users Report Module

I have to build a site that receives some custom report from my users and store them in a database. The users are able to view their reports and the department administrator comments on it. I was creating this myself using PHP although it was good but it's full of security holes and I get lost after a while when my code grows bigger.
I think if there is a module for drupal or wordpess that can benefit from grouping my users into separate groups that would be much easier.
Does anyone know if there is such plugin or would you recommend me some keywords to search with.
Thanx in advance
Sounds like Drupal would be a good fit for this. There would be (at least) two roles (one for regular users and one for administrators), and there would be a 'report' content type. Regular users would be able to upload reports and view their own reports and administrators would be able to comment on reports.
Drupal + CCK (and possibly the FileField module if users are uploading document files) would be able to handle all of this pretty easily.
Drupal with the CCK & FileField modules would work great (as Mike mentioned). Two roles would suffice (admin & regular user).
As for security, make sure to use the latest versions in Drupal 6 & stay on top of when those 2 modules get updated although Drupal makes it super easy for you through site notification. Along the lines of security, you'd want to 'hide' the login box from the homepage & use www.sitename.com/user for your users to login.

Resources