Download presentation
Presentation is loading. Please wait.
Published byAubrey Fowler Modified over 9 years ago
1
Comanche A GUI management tool for Apache http://www.comanche.org Daniel López Ridruejo daniel@covalent.net
2
Talk Overview Part I What is Comanche, features overview, demo, architecture, future development Part II XML and Comanche How to add support for Apache modules How to add support for other programs
3
Part I: Comanche Overview Introduction Motivation Features Demo Architecture The future
4
Part I: Comanche Overview Introduction Motivation Features Demo Architecture The future
5
Introduction Configuration Manager for Apache GUI for managing Apache Common framework for developing other configuration programs
6
Part I: Comanche Overview Introduction Motivation Features Demo Architecture The future
7
Motivation Current GUIs shortcomings Make it easy for users Make it easy for developers
8
Motivation: Users Guide the user Hide complexity for newbies Full access for power users
9
Motivation: Developers Modular, extensible design Make it easy to contribute – Simple API – Simple tasks via XML – Complex tasks via XML + a little bit of coding “One afternoon” learning curve
10
Part I: Comanche Overview Introduction Motivation Features Demo Architecture The future
11
Features Open-source Multi-platform Modular Extensible Easy to set up Non-intrusive Multiple language support Context-sensitive help Convenient
12
Demo
13
Part I: Comanche Overview Introduction Motivation Features Demo Architecture The future
14
Architecture Plug-in Namespace User interface
15
Architecture Abstract: Configuration Information (httpd.conf, smb.conf) Information presentation (User Interface)
16
Architecture XML for user interface XML for configuration format description Multiple front-ends Distributed and multiple language support
17
Part I: Comanche Overview Introduction Motivation Features Demo Architecture The future
18
Covalent support Distributed architecture (XML-RPC, CORBA). Hidden from developer Write plugins in Perl, Java, etc HTML interface Apache directly configured via XML
19
The future: getting involved Translations Add support for Apache modules Write new plug-ins: ftp server, user management, qmail… Submit bug reports Buy some beers to the author :)
20
Talk Overview Part II XML and Comanche How to add support for Apache modules How to add support for other programs
21
XML and Comanche XML basics XML for configuration XML for User Interface
22
XML Basics eXtensible Markup Language. Standard way of defining, storing and exchanging structured data. Tag based and similar to HTML
23
XML and Comanche XML basics XML for configuration XML for User Interface
24
XML for configuration Translate multiple formats XML Configuration directives syntax changes from release to release User Interface needs to know information about the parameters of a particular directive
25
XML configuration language Schema language Combine basic blocks to define complex directives NumberChoice AlternateBoolean StructureString List
26
XML configuration language nobody dani
27
XML and Comanche XML basics XML for configuration XML for User Interface
28
XML User interface Programmatic User Interface generation Multiple front-ends No coding required Isolate configuration tasks from presentation
29
XML User Interface nobody dani
30
Talk Overview Part II XML and Comanche How to add support for Apache modules How to add support for other programs
31
Support for Apache modules Describe directives Property pages Module description
32
Mod_cgi: Directives 10385760 1024
33
Mod_cgi: Property pages
34
Mod_cgi: Module description <apacheModuleDescription name="cgi" directivesXMLDefinition="directives.xml" propertyPagesXMLDefinition="propertyPages.xml" description="This modules provides for execution of CGIs." icon="smallWheel">
35
Talk Overview Part II XML and Comanche How to add support for Apache modules How to add support for other programs
36
Support for other programs Design property pages Add nodes to the namespace Answer property pages requests Receive property pages results
37
Example: DNS configuration /etc/resolv.conf Nameservers Domain search order
38
Design property pages
39
Add node ::plugInUtils::addNode $this $namespace $parentNode \ -classes {nameservers leaf} \ -openIcon network \ -closedIcon network \ -label [mesg::get \ resolv_nameservers_settings]
40
Answer property page body nameserversPlugIn::_inquiryForPropertyPages { node } { fillPropertyPages return $nameserversXuiPP }
41
Process prop. pages result body nameserversPlugIn::_receivedPropertyPages { node xuiPropertyPages } { set pp [$xuiPropertyPages getComponentByName nameserversPP] saveNameServerSettings $pp }
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.