Hi,

I am currently in the process of moving a clients site which I had a hand in developing way back in 2003 to a different host and in the process have had thoughts of updating the site to use a CMS like Drupal.

The site itself is www.rccdams.co.uk if anyone wants to visit it. I realise it looks very dated now, but that's what partly led me to think of proposing a full update to the client.

At the heart of the site is a searchable database of dams that the client has designed around the world. The database is in MySQL and the site uses PHP to query the database and build the search results page.

The news page also has it's own table in the database.

The database is updated via a password protected admin area.

Everything else in the site is static HTML.

I guess what I'm asking is how easy (or indeed feasible) would it be to redesign the site to use Drupal as a CMS and somehow to integrate the functionality to allow the searchable dam database to work within it?

Thanks in advance for any help.
If anyone needs more info please let me know.

Tony.

Comments

pkej’s picture

l would use the cck module and node import. there is a 6.x version of the latter in its issues que.

Alternatively create a custom import script.

More to come from me later. on iPod slow typing
Paul K Egell-Johnsen

Paul K Egell-Johnsen

pkej’s picture

OK, I'm on a laptop.

Yes, you can use Drupal for your site. You just need to select the right modules. I suggest you use version 6.x of Drupal, as all the important modules are ported to it. The admin section of Drupal has a role based access control which you can use to delegate permissions to different roles. You can also install many different access control modules, based on your needs and the organization you are serving.

Authentication can also be done from external servers via appropriate modules.

Check the list of modules, be sure to log in and filter the list for version 6.x.

After installing Drupal 6.x install the module Drupal Administration Module it will make your work much easier.

I usually install the demo module for quick and dirty back ups during development. There are other backup modules, but I've found demo to be the least obstrusive, just fill in the name and a comment and backup. Other modules require a lot more work, and some have had CSS issues which rendered them useless out of the box.

Personally I would go with the CCK. CCK also have contributed modules.

You need to create a mapping first from your database to nodes. A node would represent each table in your database. Then for each table you would have to map each field to a CCK field.

If you have tables which use unique keys you would need the module Unique Fields in order to implement the integrity.

If you need to compute stuff in your form the Computed Field might be of value.

For foreign keys you would have to use nodereference (included in CCK) and for backlinks you would have to use the nodereferrer module. The nodereferrer create can be a good supplement to the noderefferer module.

Blobs in the database needs to be imported as a filefield or as a imagefield.

Many modules aren't supported by the node_import module, but you could take a stab at creating extra import handlers for that module.

Or you could create a php script which imports the data. Note the link is for old CCK, but read the comments and do some searches on drupal.org.

For creating the search form you could go with views or just use the plain text search.

The news would be a simple import into the existing node type, Story.

The static pages can be left static if you modify the .htaccess which come with drupal, or you can do an import of them.

The old site can be moved into a subdirectory, for example archive/old_site and you can add a redirect in the .htaccess for all incomming links to that site, either directly to the old content, or use the url-redirection functionality of drupal to redirect to the new functionality inside Drupal.

You can use the boost module to improve the handling of the static content of your sites (ie. nodes which are not under access control). It will create files which are served instead of doing db-calls for the content.

Just keep this thread warm if you need more pointers.

Paul K Egell-Johnsen

Paul K Egell-Johnsen

pkej’s picture

I actually checked out the site ;)

The data there could most likely be imported via CSV and the node_import module.

Paul K Egell-Johnsen

Paul K Egell-Johnsen

fluvius’s picture

Thanks very much for your advice Paul.

Since I'm a complete Drupal novice I'll admit a lot of the terminology lost me, but I think I understand the overall principals behind them.

We're yet to approach the client with the concept of reworking the site, but now I know that it's feasible to employ Drupal it gives me the confidence to do so.

Thinking about how the reworked site should function it makes sense to administer the whole site using Drupal, rather than just the dam search and news pages.

Thanks again for your help.

Tony.

pkej’s picture

To build more confidence. Then you would be more prepared for the meeting. There is a drupal version called
Acquia (http://drupal.org/node/315151). It has a lot of the needed modules built in, and more documentation. It might be a good starting place. They also (of course) offer professional support, so you have that option if things should get icky.

Again, just revisit this thread or use the contact form if and when you start on the remodelling.

Paul K Egell-Johnsen

Paul K Egell-Johnsen