Brainstorming: What is useful to have documented?

webchick's picture
public
webchick - Mon, 2007-04-16 19:25

Let's start with brainstorming a list of things that would be useful to have documented when you inherit a new site. Here are a few I can think of off the top of my head:

  • List of enabled modules
  • What roles exist
  • Permission assignments (though making this look readable is going to be a fun task ;))
  • What content types (and their fields) exist
  • What vocabularies exist, and what content types are they assigned to
  • What forums exist
  • Workflow module permissions
  • System variables (?)
  • Other?

Feel free to respond here with your own ideas!


Diff of .tpl or css files?

Archnemysis - Mon, 2007-04-23 16:35

Hi everyone. Just joined this group. Here is my intro post to another group if you want to know more about me: http://groups.drupal.org/node/3784. But basically, I have little knowledge about the challenges to making this happen, just thought it would be a good idea.

One of the challenges I have had in maintaining my own sites is remembering all the little customizations I had to make to get it to do what I wanted. For example, modifying a css file to print tables that didn't break in IE. So would it be possible to run a diff between say the standard css files that gets downloaded and what is actually there?

In reading the initial post in this group I thought this looked like a great way to draft an initial "site recipe". I.e., give this report to someone who asks "How did you make that site?" Like I said, I have very little technical know how, but really like the potential of a site documentation module.

CSS Diff'ing

NancyDru's picture
NancyDru - Mon, 2007-04-30 23:56

When I build a site, even if I'm using a core theme, I copy the theme from where it was originally placed into the sites/mysite.com/themes folder. So, yes, it would be quite easy to run a diff because the original is never touched.

Nancy W.
Drupal Cookbook (for New Drupallers)
Adding Hidden Design or How To notes in your database


$conf[] overrides in settings.php

mlsamuelson's picture
mlsamuelson - Mon, 2007-04-23 19:00

A co-worker of mine spent half an hour this morning trying to figure out why the document extensions he'd added as allowed upload types were still being blocked. It would have been helpful if he could have seen that there was an override in settings.php.


Well...

NancyDru's picture
NancyDru - Tue, 2007-05-01 00:10

I really only started coding today and I already have an overview of all the tables, summaries of modules, themes (and theme engines), blocks (including a warning about blocks that belong to missing themes), roles, and boxes. It is already a very long page. Hopefully, I'll have taxonomies before I go to bed. I think I can do content types without too much difficulty. System variables shouldn't pose a big problem, unless I try to get fancy with them, which I probably will do.

One summary that I want to add is the number of nodes by content type, and by published/unpublished, sticky/non-sticky (the Weight module complicates this), and promoted/non-promoted. I don't think I need to count revisions because the tables summary already shows how many rows are in both the node and node-revision tables.

I am building it as a module, so it can be distributed a bit more easily.

One potential side benefit I hope people can derive from this is cleaning up the database a little - blocks are particularly messy. It might even help module coders to do their uninstall code.

But anyone who tries to use it needs to understand that it is an "expensive" module. I'm afraid to turn Devel on and see just how many queries it really is.

Nancy W.
Drupal Cookbook (for New Drupallers)
Adding Hidden Design or How To notes in your database


Can you put it in CVS?

webchick's picture
webchick - Sun, 2007-05-13 13:34

If it had a project / issue tracker, it'd be a lot easier to test and collaborate on. If you haven't already, you can fill out a CVS application form at http://drupal.org/cvs-account


In the meantime...

NancyDru's picture
NancyDru - Tue, 2007-05-15 02:12

What kind of return information do you think modules might want to supply through a hook?

Nancy W.
Drupal Cookbook (for New Drupallers)
Adding Hidden Design or How To notes in your database


It's now there to test

NancyDru's picture
NancyDru - Sun, 2007-05-20 17:50

Because of a CVS conflict, I had to change the name. It is now the Site Documentation Module.

The documentation page is at http://drupal.org/node/144837

I still have some ideas for new sections to add. Also, I still need some ideas on what kind of information modules might want to pass back from a "hook_sitedoc."

Nancy W.
Drupal Cookbook (for New Drupallers)
Adding Hidden Design or How To notes in your database


registering a thought

sime's picture
sime - Wed, 2007-06-06 12:22

I just had a thought. Would it be possible for this module to run a diff over the directories to ensure that no hacks had occurred in the development of a site. This type of thing would be great for clients, but also for developers as a way to establish that good design practice had occurred.


Hmm...

NancyDru's picture
NancyDru - Wed, 2007-06-06 14:09

That's an interesting idea. It can already archive it's output which could then be compared (diff'ed). But I think what you're after is to make sure no one has, for example, changed node.module. To do this wouldn't I have to save a protected copy of the original modules/files? How would that be done securely?

Nancy W.
Drupal Cookbook (for New Drupallers)
Adding Hidden Design or How To notes in your database


If the files have been

sime's picture
sime - Wed, 2007-06-06 14:42

If the files have been checked out by CVS, determining changes is just cvs diff against the files that are there. Securing the process is probably worth the effort. This won't work for modules that have been downloaded though.


yeah

NancyDru's picture
NancyDru - Wed, 2007-06-06 15:17

And I think we all can easily assume that 99% of the modules will be downloaded.

I wonder if this might be better in the Update_status module. Perhaps just comparing a hash value will do most of this.

Nancy W.
Drupal Cookbook (for New Drupallers)
Adding Hidden Design or How To notes in your database


A Site Install Profile Export?

Benjamin Melançon's picture
Benjamin Melançon - Wed, 2007-06-06 11:54

Does anyone else see site documentation as described here being able to pretty easily add options to export aspects of your site as an install profile?

~ In living, loving memory: http://melanconent.com/john-melancon-life ~


what I've been thinking

sime's picture
sime - Wed, 2007-06-06 12:16

I think that's where we're heading with drupal, but you won't see this until it gets easier to create all types of content. People are still attempting things and discovering what does and doesn't work. Trying to support (and maintain) this in a module might be a tad difficult for the moment.

An example I think of where this will be useful, and I'm soon to start trialling this, is with my design partner who have no drupal devs on-site. This module may allow them to document a client's website in a formal way that gives them autonomy from being tied to specific developer.


That has been mentioned

NancyDru's picture
NancyDru - Wed, 2007-06-06 14:05

That has been mentioned and it certainly seems like a reasonable thing to do. I'd like to have it just because I have 16 sites to worry about. Unfortunately, I don't know anything about install profiles, so I have to learn.

My first concern at the moment is hook_sitedoc, but I need some help from other module developers in figuring out what they think should be highlighted in this output, if anything.

The next big concern is 6.x.

Nancy W.
Drupal Cookbook (for New Drupallers)
Adding Hidden Design or How To notes in your database