Difference between revisions of "Getting Started"

From GeeklogWiki
Jump to: navigation, search
m (link to new Nightly Tarball article)
(Plugin Development)
Line 29: Line 29:
 
If you're interested in developing a new or improving an existing Geeklog plugin, start with the [[Plugin Developers Handbook]]. It's somewhat outdated in places (plugin [[Plugin Autoinstall|install]] and [[Plugin Auto-Uninstall|uninstall]] became a lot easier in recent Geeklog versions, for example), but it's still the best place to get an overview.
 
If you're interested in developing a new or improving an existing Geeklog plugin, start with the [[Plugin Developers Handbook]]. It's somewhat outdated in places (plugin [[Plugin Autoinstall|install]] and [[Plugin Auto-Uninstall|uninstall]] became a lot easier in recent Geeklog versions, for example), but it's still the best place to get an overview.
  
The most up-to-date description of Geeklog's plugin API is the [http://project.geeklog.net/src/Geeklog/_system---lib-plugins.php.html lib-plugins.php] file.
+
The most up-to-date description of Geeklog's plugin API is the [https://github.com/Geeklog-Core/geeklog/blob/master/system/lib-plugins.php lib-plugins.php] file.
  
 
To start writing a new plugin, try the [[Plugin Toolkit]].
 
To start writing a new plugin, try the [[Plugin Toolkit]].

Revision as of 21:52, 10 January 2016

So you want to help out with Geeklog development? Excellent! Here are the first steps to get you started:

First Steps

If you haven't already done so, download and install the current stable version. This will give you an idea how things are supposed to work.

Next, try the development version. You can either use Mercurial or download the Nightly Tarball. If you're checking out from the Mercurial repository, you also need the PEAR classes. The PEAR classes are already included in the nightly tarball. (more detailed instructions here)

Once you got the development version up and running, you should read Alan McKay's excellent Beginner's Guide to Geeklog Programming, which will explain to you how to do things the Geeklog way.

We also recommend you have a look at our Coding Guidelines. Summary for the impatient: We're mostly following the PEAR coding standards.

For an overview, you can also browse the Mercurial repository online or look through the documented Geeklog source code.


Dive into it

(trying to paraphrase this post by Eric Weddington)

Once you have a rough idea how things work, try browsing our bugtracker. Pick a bug that interests you. Try to reproduce it. If you can add any useful information to the bug (e.g. steps to reproduce the problem), go ahead and leave a comment.

See if you can find the area in the source code where the problem occurs. Try to think of a way to fix it and either fix it (patches are always welcome!) or, again, leave a comment.

Don't worry, not all the open bugs are hard. Some are fairly easy and are only open because nobody had a chance to fix them yet (look for issues tagged "beginner"). Even if you can't solve the problem, you'll learn a lot in the process.


Plugin Development

If you're interested in developing a new or improving an existing Geeklog plugin, start with the Plugin Developers Handbook. It's somewhat outdated in places (plugin install and uninstall became a lot easier in recent Geeklog versions, for example), but it's still the best place to get an overview.

The most up-to-date description of Geeklog's plugin API is the lib-plugins.php file.

To start writing a new plugin, try the Plugin Toolkit.