Presentation is loading. Please wait.

Presentation is loading. Please wait.

Comanche A GUI management tool for Apache Daniel López Ridruejo

Similar presentations


Presentation on theme: "Comanche A GUI management tool for Apache Daniel López Ridruejo"— Presentation transcript:

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 }


Download ppt "Comanche A GUI management tool for Apache Daniel López Ridruejo"

Similar presentations


Ads by Google