Overview of CPG code and database Overview of CPG code and database
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

Overview of CPG code and database

Started by photographicon, January 03, 2006, 07:38:12 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

photographicon

Is there an overview document available that briefly describes what all the various CPG code files do and how they inter-relate (eg a diagram of execution flow)?  Likewise for the database tables & fields?

Having evaluated a number of different gallery systems, I've settled for CPG and have the sneaking suspicion that I'll be adding some mods of my own...  8)
LITL.W/L
Dominic.

Nibbler


photographicon

Really... how do you (the dev team) keep track of things?  Surely you must have something written down...?
LITL.W/L
Dominic.

Joachim Müller

no - working on the project you gradually develop an understanding how it works, so every dev just knows how it works. There's no such document, honestly. There has never been the need to create it. It would make things easier for users who want to modify (like you) and maybe for future dev team members, yet it would take some time and effort to create such a document. You know how devs are: they prefer to write code instead of documentations  ;).

photographicon

Fairy snuff... I'm gonna have to make some notes for myself (hopefully with your help ;-) so I guess in time I'll be adding them to the pool.
LITL.W/L
Dominic.

Tranz

I work backwards. I see what I want to change. Use Dreamweaver's awesome search function to find the code I see to find the origin code.

Paver

#6
In Windows, I use WinGrep to search throughout the Coppermine scripts and follow the program flow.  The database structure is fairly self-descriptive.  phpMyAdmin is of course the GUI-tool of choice.

As for mods, I would try to stick to plugins since they are easier to keep separate from the core code and apply to future versions of Coppermine.  Plugins require more initial learning & a more careful touch, but they are rewarding, and you can easily share your plugins with the community.  Of course it is quite tempting to simply hack the script in question.

Keep in mind also that a lot can be done with your theme's theme.php and template.html files.  Check out the sample theme to see all the functions and functionality that can be overridden in your personal theme file.