Lately, I've been working on converting another site to Drupal - this time, however, it's one
that hosts a few comics.
Thank you in advance for any help you can provide, as it will be greatly appreciated.
Overview
A flat-file CMS is used for the comics, with all other pages as static HTML files. Though
the site also includes an image gallery and forums, they will be left as-is, maintained
separately from Drupal.
Currently, each user maintains one or more comics, with each comic using its own copy of
that CMS. The users can also maintain their static pages (and files), but - due to how things
are set up - only the website administrator can upload them.
What I want to accomplish is using just one CMS installation (Drupal) to handle all of this
work - each user could maintain their comics, pages and files without requiring assistance from
the website administrator.
Sections
Each comic has the following sections:
- Archive
-
This is a single page, displaying a list of every strip for that particular comic. They are
categorized by year, with a list item for each strip; each list item contains the strip's
number, date, title and a link to that strip. No sidebar is present on this page.
- Strip
-
This displays the strip the user wants to visit - it defaults to the most recent
strip if one isn't specified. Below the strip is a set of navigation buttons - they
lead to the first, previous, next and last strips, respectively. They are shown for all
strips, though they may not have a link (only showing the image) in certain cases - the
first strip won't have a first or previous link and the most recent strip won't have a next
or last link. Below that is a "News" section, with any news to be reported for that strip -
for one comic, the website administrator and user share this field. Only the comic's front
page (displaying the most recent strip) will have a sidebar; all other strips (including the
most recent one, if not viewing the comic's front page) will not have a sidebar.
Each strip will contain the following information:
- Date
-
The strip's upload date, which will also determine the strip's number. It can be set
to a custom date by the user (for uploading older strips in the proper order), but will use
the current date if one is not supplied. Different pages will display this date in
different formats.
- Image
-
The strip's image. For compatibility with the previous CMS, it will have to be able to
use images already uploaded to the site, along with renaming new images to the strip's
upload date (in the "YYYYMMDD" date format).
- Number
-
The strip's number, based on the upload date of the strip. If any strip (other than the
most recent) is added/deleted, this number will be recalculated for all affected strips,
to account for the change.
- Title
-
The strip's title. Certain symbols (such as the apostrophe and quotation marks) will
have to be converted to their respective HTML entities - this will allow the page to remain
valid (according to the W3C Markup Validator).
Checklist
Required
-
Determine what will be necessary (content types, modules, custom code, etc.) to
accomplish what has been described in this post. -
Set up a theme for each user, which will be applied to all of the comics and pages they
maintain; the main site itself will also have its own theme. -
Set up the pages so that some will have sidebars and others will not; the sidebars will also
differ between each user's set of comics, as well as for certain pages.
Preferred
-
For one user's comic, automatically update the link to the most recent bonus comic on
their main comic's page. Currently, one user maintains multiple bonus comics, and
updating the most recent bonus comic is done with a script separate from the CMS. I am
looking for a way to add a field to take care of this, so that this script will no longer be
needed. This field is shared between every bonus comic maintained by that user and
determines which bonus comic was updated most recently. It is only updated when a new strip
is posted for a bonus comic, which in turn will update the most recent bonus comic's link on
their main comic's page. Optionally, there will be a file upload field to upload a graphic
displaying part of the most recent bonus comic, if one hasn't already been uploaded. -
Allow each user access to upload files to their respective folders under "files" and
"themes". This way, the website administrator won't have to upload files every time
something changes on a page. -
Allow for more than one user to post to the "News" section of the comic, so each user
can update their own news independently instead of sharing a section. - Remove the "News" section entirely for certain comics, as no news will be posted in them.
Optional
-
Allow each user access to rename and/or delete files in their respective folders under
"files" and "themes". -
Place the "files" and "themes" folders outside of Drupal's directory, for easier
maintenance.
Comments
(Bumping topic...)
(Bumping topic...)
It seems like I'm asking for a lot in just one post, which probably made it seem overwhelming. As a result, I'm going to split up the post above into separate forum topics (and link them to this one), so it won't seem like so much =)
Yes, it may seem
Yes, it may seem overwhelming, because it's a lengthy read. However, I believe you can already make a comic site Drupal. You definitely need the Taxonomy and Image modules. Then, you might want Views, and I think you might want Advanced Forum and Author Pane.
I'm a Drupal noob (started using D6 just months ago), yet I have already set up a wonderfully large gallery on my own site, using just the Image module. I plan to set up a way to display attached images as part of a post soon. Image content type comes with this functionality, but I want images to be optional in my posts, and I don't want users to have to choose whether or not they want to post an image at the beginning. They might not know... or they could simply change their minds.
I have an idea of how this could be done using the Image Attach module.
---
I have created and maintained countless Drupal-powered sites and have made heavy modifications to modules on a site-by-site basis. I am an illustrator, a game developer, and a web developer. I also stream on Twitch in my spare time.
Thank You; I Apologize for My Lateness
(Apologies for the very late reply - I got sidetracked with other projects, had to go to a few birthday parties for family members and was sick for awhile...)
All right then - thank you for letting me know of that =)
From what you have mentioned, I'll need these modules for the following reasons:
As for the other two extensions, I'm not sure why I'd need them:
Also, I found two more extensions that might be useful in this case:
Imagefield may be better than
Imagefield may be better than Image in this case. You can add an uploadable image field to your "Comic Strip" content via CCK.
But essentially, that's how I would probably do it, yes.
Thank You; Custom Upload Directory Location?
All right then - thank you for letting me know about that =)
Would it be possible to use a CCK field or taxonomy term to determine where the images will be uploaded? For example:
/files/this-directory/"./files/that-directory/another-directory/".If this will require additional modules and/or custom code to accomplish, that's not a problem - I just want to know if it can be done.
Just wondering about this =)
Sort of, ImageCache is
Sort of, ImageCache is needed, and the ImageField can be provided a custom subdirectory from the admin page whenever you create a new field (or whenever you attach the existing field to a different node type). There directory structure is not pretty, though, and you cannot customize the base path at all. (Well, you could manually edit the module.)
I'm trying to use ImageField/ImageCache (the two should be one module IMHO) instead of Image/ImageAttach, but there's really no way to convert the data, because ImageCache has a very different directory structure and I was using Image cache for far too long to do everything manually. This just serves as a warning to invest your time in one module that you don't think will have to be swapped later on. Don't use the Image/ImageAttach method.
---
I have created and maintained countless Drupal-powered sites and have made heavy modifications to modules on a site-by-site basis. I am an illustrator, a game developer, and a web developer. I also stream on Twitch in my spare time.
Solution Provided for Custom Upload Directory Location
A method to customize the upload's directory location based on taxonomy has been provided =)
See Deciphered's post in the "FileField/ImageField: Custom Directory Structure?" topic for more information.
Help Wolfey!
Hi Wolfey,
How did you get on with your site? Do you think this will be difficult to Drupalise?
http://starwarsage9.com
The comic pages look tricky (stories probably) - which I'd like 'reader commenting' on underneath. Then of course the homepage which is just pulling in content from the rest of the site. Everything else - apart from a planned blog - is a straight forward 'page'.which I can hopefully stick various images into with custom classes and divs to make it look decent.
Will I need to use 'Views' or 'Panels' (what ever they are) to achieve the same layouts? My HTML and CSS is top-notch.
Comic Page:
http://starwarsage9.com/pt3_05.html
Thanks!
John