Considering Drupal for a large (thousands of pages) hierarchical site
evildmp - July 8, 2008 - 15:12
We're considering a move to a new CMS for our site.
The site contains several thousand content items.
On thing that I'm wondering about is how easy it would be to model our strictly hierarchical site structure, which also needs to be reflected in the menu navigation structure.
That is, any content item a user creates must be in a particular place within the structure - free-floating nodes are not going to be permitted.
Another import requirement is LDAP integration for authors and users.
I think Drupal might be appropriate for our needs, but while I continue to explore it, it would be useful to have some thoughts on this.
Thanks.

Site Heirarchy
No 'free-floating nodes' makes it sound like you have ruled out Taxonomy, which is a common way to build a site heirarchy.
An alternative is the 'book' module, in which all content pages are arranged in a book layout - by adding sub-pages, you effectively create chapters, sub-chapters and so on, and pages can be weighted to place them exactly where required. The Drupal handbook pages are an example of a book, but I don't know how many pages it comprises. I have one site where the client has entered around 500 pages in a book so far, with no problems.
The book module automatically generates a menu tree for all the pages. There is also a module called sympal_book_menu which creates a menu block for the book to which you can add either the dhtml_menu or the js_tools activemenu modules, to make the entire heirarchy explorable without reloading pages.
One major drawback, depending on your requirements, is that book pages can only be in one place in the book, so you can't, unlike with Taxonomy, categorize content in more than one place. But for a mostly linear project for which you want a rigid structure, it might do the job.
Oh, and don't be fooled by the very simple initial book content type - you can add CCK fields or taxonomy (for additional sorting using views, for example) to extend the basic book page into something more useful. Oh, and for further control over authoring, things like revisions (with the diff module) and workflow are very useful.
Not familiar with LDAP integration, so somebody else will have to chime in there...
http://drupal.org/project/sympal_book_menu
http://drupal.org/project/dhtml_menu
http://drupal.org/project/activemenu
http://drupal.org/project/diff
http://drupal.org/project/lifewire_diff
http://drupal.org/project/workflow
(Not sure about the D6 status of all of these though)
Re: Site Heirarchy
That sounds like what we need to replicate. I will investigate Taxonomy further, but certainly as far as menu navigation and the creation of new content are concerned, we use a simple folder tree structure.
One reason for this is so that URIs then take the form of a directory path - http://example.com/arts/music/performance/opera/italian - that kind of thing.
Another is to encourage authors to divide up their information into similar structures across the site, to improve usability for visitors.
There are plenty of occasions where the restrictions of this scheme become annoying limitations, such as when there is a good reason to have the same content in more than one place, but that isn't a change I'd be empowered to make anyway.
For our purposes, with over fifty web authors, absolutely essential.
My investigations so far suggest that what we require is attainable within Drupal.
We need three levels of navigation menu - global (right across the site), regional (dependent on the major subdivision) and local (dependent on the particular page).
The local menu needs to be kept to a maximum four levels deep, so its starting point will need to be reset for certain pages - again I think this is possible.
One thing I haven't yet discovered is how easy it is to replicate an important function of our current CMS - if I have a homepage for a section, and a collection of sub-pages, I need to be able to insert a link to a sub-page into the homepage, together with a teaser or introduction automatically taken from the news article. And I need the link to be updated, and the introduction to be updated, should the sub-page ever be updated or moved.
Thanks for your comments.
I will investigate further, once I've untrashed my installation (after getting a "Fatal error: Allowed memory size of x bytes exhausted" trying to install modules, although I've allocated more memory, the site including all admin pages remains completely inaccessible).
Re: Site Heirarchy
The more I read your reply, the more I think that maybe taxonomy might be better suited for your site.
There are taxonomy functions that can pull out all, or part of, the taxonomy heirarchy (You can do that with a book as well). Not to mention a bunch of taxonomy-related contrib modules for menus and node-access.
That's pretty much standard taxonomy behaviour: The default category page for a taxonomy term shows the titles and teasers for nodes associated with that term. If you want more control over the ordering and display, you could use the views module to build your own listings. Book pages aren't really designed to work this way, although with it would be feasible with some added taxonomy fields (but in that case, why not just go the taxonomy route?).
I'd say that it sounds like Drupal would be suitable for your project - the problem is that there is always more than one way to skin a cat with Drupal, and it's not always easy to find the correct way without diving in and trying things out. Changing your mind is not a disaster though, as you can migrate nodes from one content-type to another fairly easily.
My feeling is that the book structure is best for sites where a very rigid structure is important, while taxonomy can impose a structure but also give you the flexibility to pull the information up in many different ways.
Database migration
Are you considering migrating your database to Drupal as well? If so, that's another item to think about. If you're currently using a MySQL database it may be relatively straightforward, but if it's an object-oriented database, like Zope, it may be a much more involved undertaking.
Drupalot.com - ask & answer Drupal questions