View Full Version : ISPConfig 3 Developer documentation
This thread is meant as resource for ISPConfig 3 development information until we have some real development manual.
Here is a first starting point for Interface development in ISPConfig 3:
http://docs.ispconfig.org/development/interface/
If some Menu Items are selected, errors occur like:
Warning: Smarty error: unable to read resource: "content/development.isp-config-2.html" in /var/www/web23/web/en-sandbox-dynamic-site/libs/Smarty-2.6.18/libs/Smarty.class.php on line 1095
I think there's something wrong with the configuration, or is "no content yet" the reason?
The Bugs and feedback - ispconfig.org/bugtracker/ link gives an Fehler 403 - Verboten! Error.
( http://www.ispconfig.org/bugtracker/ )
or is "no content yet" the reason?
Exactly :)
The docs site is work in progress, but i got several requests for ispconfig 3 developer documentation that I decided to publish the link to this document already here.
The bugtracker is now located under: http://bugtracker.ispconfig.org
I will correct the link in the site.
pedro_morgan
19th May 2008, 02:51
Cool stuff.
Need to start spending some time on this.
Also need to take out some dead pages in svn. notably isoconfig-2 as they wre/were placeholders. Maybe the pages whould be ther and link thru to website?
Can I suggest the creation of a "documentation" category in the flyspray (oil)?
pedro
Bobonov
27th June 2008, 12:38
I wanted to add something in the bug tracker for ispconfig3.
I created an account but I have no right to add a bug.
Since I am doing intensive usage of ispconfig3 (I am a bit crazy and decided to use it on a production server, not totally crazy the server is not so important) is it possible to be able to open bugs directly without going trough the forum?
till
27th June 2008, 12:42
We decided to activate accounts in the bugtracker only manually due to massive spam problems. Please send me a pm with your username and I activate it for posting bugs.
quentusrex
30th October 2008, 01:09
Bobonov, I think I'm about to be in the same boat as you. I'm about to take ISPConfig 3 beta *.7 into production on a little used server.
All of this so I can help develop ISPConfig 3.
quentusrex
30th October 2008, 13:38
Would it be possible to have a way for more people to edit developer documentation? Like in a wiki format? Even if that means manually approving accounts.
till
30th October 2008, 14:04
We have or better had a wiki at http://wiki.ispconfig.org but it had never really been used. There were several poeple that all wanted to provide documentation but at the end it stayed empty :(
I can send you a login if you like but it might be that I have to remove it again (as the alst 3 times) when it stays empty as poeple get confused if the go to a wiki with nearly no content.
quentusrex
30th October 2008, 14:20
Till,
I'd like to get a login. So that I can atleast try to get some documentation ready.
On a side note, would you be willing to test out mediawiki as the wiki software? I realize this is just my preference, but I think it works better for formatting and user features.
pedro_morgan
13th March 2009, 14:31
Any progress on wiki, may I get login and start documenting ?
pete
DUCKFACE
28th December 2009, 20:49
hwo can i use this class to greate mods and apps?
till
28th December 2009, 20:53
See link in the first post:
http://docs.ispconfig.org/en-sandbox-dynamic-site/?page=development&sub_page=isp-config-3
DUCKFACE
29th December 2009, 06:19
i saw that one ...
"You might see some warning messages, which is normal when the form is opened the first time as some of the files and the database are created on the fly." DB is not creating on the fly :) especialy if u try to make any changes on the code :)
can u explain somethin about the code .... for example inserts and updates
________
Suzuki Rgv250 (http://www.cyclechaos.com/wiki/Suzuki_RGV250)
________
AMATEUR TUBE (http://www.fucktube.com/categories/1/amateur/videos/1)
________
MARY JANE (http://maryjanes.info/)
mcere
12th January 2010, 20:26
Hello,
Is there a mailing list for ISPConfig 3 Development? I've searched but I couldn't find anything, although several pages at ispconfig.org refer to a list.
Thanks,
Mike
till
12th January 2010, 20:31
Please use this forum for development related questions. The ispconfig development is coordinated here, there is no mailinglist.
boclodoa
28th July 2011, 10:52
I'm trying to make a module for a simple integration ispconfig3-drupal. it is very simple, it just need to exec some mkdir and ln -s, I've looked at the documentation
http://docs.ispconfig.org/development/interface/
by the way there is a typo in the line
$module'name'] = 'help';
missing [
but didn't worked with a fresh installation of ISPConfig 3.0.3.3 in ubuntu 11.04
after that, I've looked in the current "help" module, and try to duplicate it, but didn't worked either because of a missing table. That's kind of strange because in the above documentation they say the required tables will be created on the fly. żis then necessary to run (and code) an installation procedure?
so, I've looked for some example of a simple additional module but founded only big modules, like the Billing module.
I've also purchased the user manual but, of course, is not for development.
I've thought also in hacking the apache2_plugin but I would prefer not to
can someone please point me the right direction?
Thanks
till
28th July 2011, 12:35
Thanks for the hint with the typo!
The database tables get generated automatically when you call the edit file the first time. I'am sure that this works in ISPConfig 3.0.3.3 as I used it yesterday when coding the VM module. You hould get a error message if its not possible to create the table. Which exact messages do you get when you call the edit file in the browser?
How do you want to integrate drupal and ispconfig? Shall ispconfig websites be created from drupal or shall drupal be installed automatically in a website from within ispconfig?
boclodoa
28th July 2011, 19:33
Thank you for the quick response
The database tables get generated automatically when you call the edit file the first time. I'am sure that this works in ISPConfig 3.0.3.3 as I used it yesterday when coding the VM module. You hould get a error message if its not possible to create the table. Which exact messages do you get when you call the edit file in the browser?
the message I get is:
Table 'dbispconfig.support_act' doesn't exist
what I did to get this response is:
-- duplicate /usr/local/ispconfig/interface/web/help to /usr/local/ispconfig/interface/web/drupispc
-- change all the appearances of the word "help" with the word "drupispc", and the word "message" with the word "act" (even in the file names).
-- try to use the "send" form
How do you want to integrate drupal and ispconfig? Shall ispconfig websites be created from drupal or shall drupal be installed automatically in a website from within ispconfig?
I have a drupal installation in /var/www/drupal
What I imagine for this module, roughly speaking, is a button (create drupal) next to a websites listbox (in this case example.com chosen), on click:
# mkdir /var/www/example.com/drupalsite
# mkdir /var/www/example.com/drupalsite/files
# mkdir /var/www/example.com/drupalsite/themes
# mkdir /var/www/example.com/drupalsite/modules
# cp -a /var/www/sites/default/default.settings.php /var/www/example.com/drupalsite/settings.php
# ln -s /var/www/example.com/drupalsite /var/www/sites/example.com
# chown ...
# chmod ...
to get this scheme to work you have to add /var/www/drupal to the PHP open_basedir, and use
DocumentRoot /var/www/drupal
php_admin_flag safe_mode Off
in apache directives. (using the options of the example.com website within ispconfig)
I think this way does not affect the file permission structure of ispconfig 3 (almost), and allow the client to manage his/her relevant drupal files.
till
28th July 2011, 20:18
what I did to get this response is:
-- duplicate /usr/local/ispconfig/interface/web/help to /usr/local/ispconfig/interface/web/drupispc
-- change all the appearances of the word "help" with the word "drupispc", and the word "message" with the word "act" (even in the fine names).
-- try to use the "send" form
The reason for your problem is that you duplicated the whole module instead of creating just the form and ..._edit.php files. The database table gets created together with the templates file in the "template" subfolder. If the temnplate is already there, then no database table geats created. Rebname or remove the template file for the edit form from the templates folder and open the edit file again in the webbrowser.
What I imagine for this module, roughly speaking, is a button (create drupal) next to a websites listbox (in this case example.com chosen), on click:
# mkdir /var/www/example.com/drupalsite
# mkdir /var/www/example.com/drupalsite/files
# mkdir /var/www/example.com/drupalsite/themes
# mkdir /var/www/example.com/drupalsite/modules
# cp -a /var/www/sites/default/default.settings.php /var/www/example.com/drupalsite/settings.php
# ln -s /var/www/example.com/drupalsite /var/www/sites/example.com
# chown ...
# chmod ...
Interface modules dont have access to the website directories, so they can do these steps. What you will have to do is to create a server plugin beside the interface module for that, as only server plugins have the nescessary permissions to create folders inside a website.
So the steps are:
1) Create a interface module to show your forms and lists in the ispconfig interface.
2) Create a "module" file in the server part that adds events to the server side event system when a item is inserted or updated in your new database table. See server/mods-available folder for examples.
3) Create a server side plugin that listens to these events and does the actions required to install drupal. See server/plugins-available directory for examples.
otacon
11th September 2011, 17:41
by listen do you mean a cron job, or in what manner do you have a plugin listen to the module?
When I hear listen I envision the plugin pinging a certain file in the ispconfig port every 5 minutes.
till
12th September 2011, 13:26
The plugin is not doing anything actively. The ISPConfig Server event based system and listening means that a plugin is subscribing itself for a event and that this plugin executes code when it gets called in case that the event happens.
The Other Air Force
14th September 2011, 06:24
I am just trying to develop a PHP script to export a list of zones from DNS. Using the API I can get lists for a particular client, but I am not sure how to get a list of all zones from ISPConfig. Is there a function to accomplish this? Or even a function to get a list of all client ID's so I could then in turn pass that off to the dns_zone_get_by_user() function?
I want to import these zones to my vps providers DNS servers as a slave zone using their API so when clients add zones their slaves are added automatically.
Thanks!
vBulletin® v3.8.7, Copyright ©2000-2012, vBulletin Solutions, Inc.