o3 magazine issue 7

Upload: james-hollingshead

Post on 14-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 o3 Magazine issue 7

    1/17

    http://www.splicednetworks.com/http://www.o3magazine.com/
  • 7/30/2019 o3 Magazine issue 7

    2/17

    http://arubanetworks.com/bigmanhttp://www.othellotech.net/
  • 7/30/2019 o3 Magazine issue 7

    3/17

    http://arubanetworks.com/bigman
  • 7/30/2019 o3 Magazine issue 7

    4/17o3 magazine :: page 4

    Issue 8Enterprise Email Systems

    Email has now exceed the phone as theprimary means of business communication.The next issue of o3 magazine looks at

    building enterprise grade email systems.From building secure postfix basedappliances, using dovecot for imapd,designing scalable SMTP networks to usingDSPAM to reduce storage requirements. Theissue looks at Roundcube, an excellent opensource project that provides next-generationwebmail capabilities. Secure emailcommunication using TLS, Mobility Email andconverting voice to email, rounds out thetopics for issue 8.

    Next Issue

    /* Comment */

    Feature Issue

    Welcome to the very first feature issue of o3 magazine. In the past we provided features andcolumns combined in a single issue. Based on reader feedback, we have decided to split the bulky

    issue up into two issues a month. Not only do you get a double-dose of o3 magazine, the smallerfeature issue gives those of you still on dial-up an opportunity to find out what o3 magazine is allabout without the long download.

    The feature issue has the upcoming events and tradeshows list, and the bulk of the advertising infuture feature issues will focus on media sponsorship of events. This issue looks at Agile practicesand concepts, just two articles but very interesting ones. The first article looks at how you can applyAgile practices to your business, and explains a little about the concept. The second article looks atYoxel, a web based Agile Product Management solution that is very business and customerfocused. Yoxel is well worth a look, and they have a comprehensive demo system on their website.

    Issue 6 released earlier this month has been a great success. Our subscriber base is growingstrong, and issue 6 downloads were on par with those of past issues! We would like to thank ourloyal readers for sticking with us, and we look forward to producing a high quality publication on amonthly basis.

    If you have any questions, please use the forums, we'll be happy to discuss any of the topics in o3magazine, as well as hearing general feedback and new ideas. Next Issue is due out August 29th,and is the first of our September issues.

    -- John Buswell ([email protected])

    Feature

    Agile Business Practices and Concepts

    A detailed look at the concept of AgileSoftware Development, applying it to yourbusiness and going beyond software.

    Feature

    Yoxel: Agile Product Management

    Open Source Agile Product Management.Yoxel is a hidden gem. This Open Sourceproject provides customer / business focusedAgile Product Management tools in PHP.

    Contents :: Issue 7 | August 2007

  • 7/30/2019 o3 Magazine issue 7

    5/17o3 magazine :: page 5

    Events :: Tradeshow and Community

    YAPC::Europe 2007

    Vienna, Austria :: August 28th - August 30th 2007http://vienna.yapceurope.org/ye2007/

    Yet Another Perl Conference Europe will be held this year at the Vienna University of Economicsand Business Administration. YAPC is a series of low-cost, grassroot conferences organized by

    local Perl user groups. A full schedule is available on the YAPC::Europe website, but some of thehighlights include talks on Web Testing, Remote System Monitoring, various SQL talks, Oracleintegration, Regex, Perl 6, programming practices and much more.

    PyCon UK 2007

    Birmingham, England :: September 8th / September 9th 2007http://www.pyconuk.org

    PyCon UK is a conference about the Python Programming Language. The event is aimed at thePython Community both users and programmers of all skill levels. The event will be held at theBirmingham Conservatoire. The event will include talks, lightning talks, tutorials and social events.Christian Tismer from the PyPy project will be talking about Stackless Python, a Pythonimplementation which does not keep state on the C stack. The event has a modest fee, whichincludes dinner and you can book hotel accomodations from their PyCon UK booking page.

    RailsConf Europe 2007

    Berlin, Germany :: September 17th - September 19th 2007http://conferences.oreillynet.com/railseurope/

    RailsConf Europe 2007 is yet another high quality event in the series as you might expect fromO'Reilly. The event features talks, sessions, tutorials and an exhibit hall. The event is jam packedwith many interesting and technical talks. Some talks that caught our attention include CreatingHybrid Web and Desktop Applications with Rails and Slingshot, Building Rich Internet Applicationswith Flex and Ruby on Rails. There are is also a key note from David Heinemeier Hansson and asession on Powerful CSS with Rails by Geoffrey Grosenbach (projects featured in Rails Recipes,Rails Cookbook and The Ruby Cookbook).

    php | works 2007

    Atlanta, USA :: September 13th / September 14th 2007http://works.phparch.com/c/p/index

    With Perl, Python and Rails conferences going on in Europe, it is only fitting that a PHP conferenceis running in the United States. The event is 3 days dedicated to PHP, over 35 talks and tutorials,including technical and in-depth topics for developers. High quality speakers and excellentnetworking opportunities, make php | works 2007 worth checking out if you plan to be in the Atlantaarea. PHP 5, Ajax, Flex and building PHP Rich Internet Applications is just a sampling of some ofthe great topics going on at this years event.

    http://works.phparch.com/c/p/indexhttp://conferences.oreillynet.com/railseurope/http://www.pyconuk.org/http://vienna.yapceurope.org/ye2007/
  • 7/30/2019 o3 Magazine issue 7

    6/17

    http://www.o3magazine.com/
  • 7/30/2019 o3 Magazine issue 7

    7/17

    Feature :: Agile Business Practices

    Many businesses claim to be 'agile'. In factthe term is often used to compare smallstartup companies to larger more establishedcompanies. A small startup is much moreagile than its larger established counterpart.A small business tends to be agile because it

    can react to changes in the market faster andhas less effort and resources invested in itsbusiness. A larger, more establishedbusiness can't easily move its focus asquickly, as it has legacy customers andproducts to support. This is essentially theconcept behind agile, with a lowercase 'a'.However, the focus of this feature issue is onAgile with a capital 'A'. Being an Agilebusiness, means adopting the principles ofAgile Software Development to yourbusiness.

    What is Agile Software Development?Agile software development is a set ofpractices or methods for creating software ina faster, lighter, and more people-centricmanner. Software development traditionallyinvolves a life-cycle - Design, Development,Test, and Release. Each stage of the lifecycle has its own set of procedures and tasks

    that need to be performed. The problem withthis traditional approach is that the user ofthe software maybe involved in the Designphase, but they rarely see the software untilthe Test or typically the Release stage. Oftenthe problem with software is that an engineerhas interpreted a design characteristicdifferently than the user may have intended,or users attempt to use the software in amanner which the designers did not consider.

    Agile software development practices attemptto resolve this issue, by having the useractively involved in the design and

    development phase, delivering a very earlybut functional version. This functional versionis then adjusted based on user feedback asthe application is developed. While the usermay not have every feature at hand, thefunctional version is enough to get them off

    and running with the application. Thisapproach essentially provides the rapid,continuous delivery of useful software.Software is typically delivered to the user in amatter of weeks, rather than months.

    Agile PrinciplesThe principles of Agile software developmentare described in the Agile Manifesto. Whilethe title might sound like something you'dexpect to hear from crack pot dictatorship,the principles are actually well thought out.So don't let the title scare you away fromthese new concepts. The manifesto can befound at http://www.agilemanifesto.org. Themanifesto states:

    Individuals and Interactions;over processes and tools

    Working Software;

    over comprehensive documentation

    Customer Collaboration;over contract negotiation

    Responding to change;over following a plan

    Applying the PrinciplesA business that designs and creates custom

    software solutions for clients, is going to havea relatively easy time applying theseprinciples to their business. The first task is tosit the customer down and figure out the

    Agile Business Practices and ConceptsAgile Software Development practices and the Agile Manifesto have been the latest craze to hit thesoftware industry. Pushing the hype aside this issue looks at the principles behind running an AgileBusiness and how Agile software concepts can be applied to other aspects of a business such asInformation Technology.

    John Buswell ([email protected])

    o3 magazine :: page 7

    http://www.agilemanifesto.org/
  • 7/30/2019 o3 Magazine issue 7

    8/17

    basic features they will need before they canstart using the software. It is important tomake the customer understand the differencebetween basic features and features theywant. The basic features should be theminimal requirements necessary to make thesoftware useful. Several weeks later, the firstiteration of the software is delivered to thecustomer. Once delivered, regular meetingswith the customer to determine changes, andthe priority of new features are important.The cycle of feedback, rapid developmentand delivery continues. As the applicationmatures, the number of changes and theamount of feedback may decrease, or it mayincrease. It depends on the application and

    the customer.

    Agile principles to ITSo far our discussion of Agile principles hasbeen applied to software development. Butcan Agile principles also be applied to IT?Should CIOs and IT Infrastructure Managersshift their thinking to more towards Agilepractices? We think so, and we have appliedthose principles with great results to our own

    IT infrastructure. Again, at the forefront of thiscutting edge information technology is OpenSource. The next article in this issue looks atYoxel, and Open Source Agile ProductManagement solution. Yoxel has threecomponents, Yoxel SW, Yoxel IT and YoxelKB. These are for software, IT andknowledge base respectively.

    Long before an IT department rolls a newsolution out, they typically run a local testbed. In many cases, they continue to run thattest bed as a working mirror of theirproduction systems. This enables them totest and experiment with upgrades orconfiguration changes without having to teston the live system. Once a system is indeployment, changes are raised in the formof tickets. Tickets describe the problems thatusers encountered when using the functionalpart of the system.

    Applying Agile principles looks at managingshort, incremental projects from a few weeksto about a month. At the end of each iteration

    you have a working product, one which canbe placed in front of customers and to obtainfeedback for the next increment. A greatexample, whether intentional or not, isGoogle Mail. Google periodically tweaksGoogle Mail, adding features, modifyingbehavior and this is done to the live system.Each iteration they do is a functional workingproduct and shipped to their users via theirGoogle Mail service. For example, Googleadded Chat a while back, as well asintegration with other Google services.

    Applying Agile principles to mass marketAgile principles are relatively easy toimplement when you are dealing one on one,

    like for example in the case of a customersoftware development house dealing with aclient. The principles are even easy to applywhen dealing with a number of customerssuch as rolling out a new IT service on acollege campus. How do you apply theseprinciples to a mass market software product,such as a Linux distribution? Whether it's aLinux distribution or some software productthat has both customers and a community,

    you can still apply Agile principles. Theeasiest way to describe the solution is with anexample.

    Case Study: Spliced Networks LLCSpliced Networks was started back in 2002.It's a small company with a dedicated team,many of whom have been with the companysince its inception. Spliced Networks wasstarted to build a better Linux serverdistribution around the time when other Linuxdistribution companies such as Red Hat andSuSE were focusing on the desktop, andthere was less innovation on the server side.Rather than rehash yet another Linuxdistribution, we looked at applying theprinciples used in other enterprise / missioncritical products - network routers andswitches. Within a year, we had a workingLinux server product that was probably thefirst Linux software appliance platform. At the

    time, we decided to combine this withhardware and sell an integrated applianceplatform.

    Feature :: Agile Business Practices

    o3 magazine :: page 8

  • 7/30/2019 o3 Magazine issue 7

    9/17

    As software engineers, we had a veryspecific project life-cycle, which involved aroadmap (design), development, test andrelease. This cycle took between 12 and 18months to complete, while still catering to thecustomers who had the previous release indeployment. Typically, within the last 3months of the cycle, we provided beta orearly deployment builds to certain customerswho were less risk-averse than others. But

    just like software projects at almost everyother company I have dealt with, deadlinesslipped for one reason or another. In 2005,we attempted to release a version of oursolution that was decoupled from thehardware. We tried to do this again in 2006.

    Both times, we had to pull back from such arelease, in order to cater to the customers.The reason behind this was that our roadmaprequired us to provide a fully functional, andoften ambitious solution to the public. Weknew as a small business, that the first publicrelease would probably be our one and onlyshot to win over customers. At each releaseattempt, there was always one piece notquite ready, with not enough time or

    resources to complete it without impactingour existing customers.

    As we continue to grow as a business, wequickly realized that we've entered a viciouscycle, and something had to be done. ForSpliced Networks, the solution was to adoptAgile practices to our entire business. Thiswas no easy task, as we had to rethink howprojects were defined and managed. With alarge customer base already deployed, wedidn't have the luxury of simply throwing outour existing business practices. The answerwas to divide the company into two teams.The first team has the sole task of sustainingthe existing customer base, dealing withsupport issues, fixing software problems andproviding assistance with new deployments.The second team, is focused solely on thenext release. Both teams are using Agilepractices. In fact Agile practices are the core

    of many Sustaining Engineering teams longbefore the Agile buzz-word was coined.

    No specific clientSpliced Networks' core product is AppOS, aLinux based appliance delivery platform. Justlike many other software products, we havemany customers, each with their own uniqueidea of what features are important.Traditionally, a product manager would lookat the big picture and determine whatfeatures should make it into a product. Atwhich point, the product is only as good asthe product manager. How do you determinewhat the initial set of features are, if you haveso many customers? The initial featurescould take months to develop, contradictingthe concept of rapid delivery.

    The approach Spliced Networks took, was tolook at the industry, talk to our customers andtalk to random individuals in the Open Sourcecommunity. We took data from mailing listarchives, popular projects and attended tradeshows. With all this data at hand, we createda short list of core features, and asked ourcustomer base for feedback. Based on thefeedback, we cut the short list in sections,representing the first couple of iterations of

    AppOS 4.0.

    Goodbye RoadmapThe concept of a roadmap has been thrownout, replaced with list of initial functionalfeatures. These features are currently indevelopment, and will be the initial AppOS4.0 release. AppOS 4.0 won't be the bellsand whistles release initially, instead it will befunctional. Features will be expanded andadded based on customer feedback, as wellas our own use of the product.

    Impact of Agile PracticesUnder traditional software practices that wehad in place, AppOS 4.0 would go through an18 month development cycle. The releasewould not be available until mid to late 2008.Under Agile practices the core functionalityplanned for AppOS 4.0, will be functional andin the hands of the user within a matter of

    weeks. While the solution won't be aspolished as it would be under the traditionallife cycle, the product will be shipping and inthe end, will be a better product for those

    Feature :: Agile Business Practices

    o3 magazine :: page 9

  • 7/30/2019 o3 Magazine issue 7

    10/17

    who use it. The entire development processwill be more open, than it would be had wecontinued with our traditional software lifecycle.

    ConclusionThis article has looked at Agile practices, anddescribed how it can be applied to softwareor IT businesses. What is next? Taking a lookat an Agile Product Management solution,such as Yoxel which is covered in our nextarticle.

    Feature :: Agile Business Practices

    o3 magazine :: page 10

    http://www.locusfoc.us/http://forums.splicednetworks.com/forums/2
  • 7/30/2019 o3 Magazine issue 7

    11/17

    http://www.locusfoc.us/
  • 7/30/2019 o3 Magazine issue 7

    12/17

    Yoxel :: Agile Product Management

    Yoxel is an open source Agile productmanagement solution. Yoxel is web based,and is built using PHP. It helps businessesapply the principles of Agile softwaredevelopment to IT deployments, knowledgebases and the software development

    process. This article will look at each Yoxelcomponent, walk through the installation andprovide an example of its use.

    Yoxel SWYoxel SW is the software managementmodule. The focus of the software module ison products. Each product is broken downinto a series of components. These aredefined in the product tab. In order toconfigure a component, you must first createa product. You would then act as if you werecreating another product, but instead set theparent to the product you just created. Thesystem then allows you to create acomponent.

    Yoxel has a strong business focus. Onceproducts are created, you can addcustomers. Customers are added using thecustomer tab, and a great deal of information

    about a customer can be stored in Yoxel.Yoxel allows you to not only create primarybusiness and technical leads for a customerbut also enables you to add groups within aparticular customer. For example, a largecustomer may have several divisions that youdeal with or even multiple sites. Instead ofhaving to create duplicate customer entriesfor different sites, Yoxel enables you to simplygroup those different sites under a single

    customer record.

    Contacts can be classified as a contact or alead, enabling Yoxel to be used as an

    integrate sales / software managementsolution. The system allows customer accessto be managed on a per company basis. Thisenables you to determine which customersare permitted to submit bugs directly into thesoftware development database for example.

    RequestsThe software module uses requests tohandle support, bugs, enhancements or newdevelopment. This enables sales,engineering or even a customer to makerequests directly. The request systemsupports custom fields, but the default fieldsare typically more than enough for youraverage support system. The priority settingsare even customer centric. The system hastabs for filtering requests, critical per product,searches, reports, report templates andcustom fields. All enabling the end user totailor the application to suit their businessneeds.

    Release ManagementThe release management part of Yoxel SWprovides the Agile product planningcapabilities. Here groups can easily

    collaborate on-line to determine how toprioritize the tasks for a particular release,change deadlines, produce estimates andhandle time sharing. The summary pagegives you a breakdown of your products,releases in active development, the statusand so on. Once a new release has beencreated for a product, you simply select thatrelease in the summary page to begin theplanning process. In the planning stage,

    tasks (or requests as they are called in Yoxel)are added to the plan. The requests areassigned to a particular component of theproject, for example with AppOS, the kernel

    Yoxel :: Agile Product ManagementYoxel is a web based Agile Product Management system. Yoxel is an Open Source project with adifference. Yoxel is highly business and customer focused, providing a real solution that meets theneeds of today's Agile Business.

    John Buswell ([email protected])

    o3 magazine :: page 12

  • 7/30/2019 o3 Magazine issue 7

    13/17

    is one of the components. Each request isthen classified as either an enhancement toexisting code, or a completely newdevelopment. The requests can havedependencies based on existing requestsalready assigned to the release. Theplanning stage allows you to add a briefsynopsis. Once this is done, you can later goin and add the details to each step. Theestimate tab generates time estimates basedon all the data entered for a particularrelease. The time sharing, gives the user atop down view of time commitments, andchecks for any overlap.

    Yoxel IT

    Yoxel IT brings the Agile concept to ITdeployments. Just like products were thefocus of Yoxel SW, Queues are the focus withYoxel IT. Queues are IT workflows. Forexample you might have wireless, securityand desktop as queues within IT. Queuesbelong to a particular environment, soqueues are very similar to the componentsthat belonged to products. At SplicedNetworks, we used each site as an

    environment, and then created standardqueues underneath each once. For example,Network (for network related issues), Security(for security issues) and we use the Generalqueue for all other issues at that particularsite. We added some generic environmentssuch as Lab and IT, and the usual office ITqueues such as desktops, servers, networkand security.

    Just like Yoxel SW, Yoxel IT has a heavyfocus on customers. This part of Yoxel IT isidentical to the Yoxel SW system. Manyuniversities operate each department as acustomer to IT. So if you do not offer ITservices outside of your own organization,using the customer feature in Yoxel IT toserve different departments within yourcompany is one possible option.

    Yoxel IT is very similar to Yoxel SW. In fact

    the ticketing system is practically identical tothe request system used for Yoxel SW, andthe IT project system is pretty much the sameas the Yoxel SW release management

    system. The only difference is that IT projectsare assigned to environments and queues,rather than to a particular release.

    Yoxel KBThe knowledge base part of the systemenables you to build categories, askquestions and have those questionsanswered. This again is part of the Agilethinking as customer and employees askquestions, the system grows and everyonereaps the benefit of the information. Theknowledge base only applies to the softwaremodule.

    Yoxel Sales

    The on-line demo on the Yoxel website(www.yoxel.com) has a Yoxel Sales module.This module is noticeably absent from the1.16beta package available for download.There is little or no mention of the module,other than the forecasting component beingexperimental. The Yoxel Sales providesforecasts and evaluations integrated into therest of Yoxel, which would make it a veryinteresting and powerful open source

    solution. Not that it isn't already a powerfulopen source solution!

    Yoxel's Development Manager - AlexeyPanteleyev was kind enough to respond tosome last minute questions about YoxelSales. Yoxel Sales is currently only availablein the on-demand version of Yoxel (when youcreate an account at yoxel.com) as it is still avery experimental module, and their focus ismore on the unique product managementside of their solution. However, if someonewants to try the forecast tracking andevaluation tracking system under an opensource license, you simply need to [email protected] and they will be happy tosupply you with the code. If you are notfamiliar with PHP, the on-demand solution isa much better option than trying to tweakexperimental code by yourself. Yoxel caneasily support and tweak their version of the

    Yoxel Sales module on their on-demandservice.

    Yoxel :: Agile Product Management

    o3 magazine :: page 13

    http://www.yoxel.com/
  • 7/30/2019 o3 Magazine issue 7

    14/17

    Exporting ReportsYoxel has a number of output options forgenerating reports. Yoxel can general reportsnot only in HTML format, but PDF andEXCEL formats as well. With jpgraphinstalled in the Yoxel root directory, Yoxel will

    generate charts and graphs as part of thereporting mechanism. You must install

    jpgraph manually into the Yoxel root directory.

    myYoxelWhen you first login you are presented withthe myYoxel page. This identifies who Yoxelthinks you are, tells you want group youbelong to, and displays the critical requestsyou are responsible for. Not only that, but it

    allows you to create customer focused actionitems. Perhaps you promise something overthe phone to a customer. Now instead oflosing track of that promise on a notepad, youcan integrate it into Yoxel, helping centralizeall of your customer related tasks.

    InstallationYoxel offers hosted services for a verymodest monthly fee. If you don't already have

    server infrastructure, you may want to checkout their services. The installation requires aPHP capable web server such as Apache orLighttpd, PHP (we used the latest PHP 5.2.3release in our tests) and MySQL databaseserver. The installation is relatively straightforward. Simply untar the yoxel 1.16betapackage into htdocs, and rename thedirectory to yoxel. In some cases, you maywant to move the content of the yoxeldirectory to htdocs, if you are using a virtualhost.

    SSL/TLSIt goes without saying that Yoxel will NEED tobe run in an SSL/TLS enabled web server.Most businesses would not want businesscritical information traveling over unencryptedsessions. Your typical SSL enabled VirtualHost would look something like this:

    DocumentRoot

    "/var/www/secure/yoxel/htdocs"ServerName support.mycompany.com:443

    ServerAdmin [email protected] /var/www/logs/yoxel-error.logTransferLog /var/www/logs/yoxel-xfer.logSSLEngine onSSLCipherSuiteALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:!LOW:+SSLv2:+EXP:+eNULLSSLCertificateFile

    /var/httpd/certs/yoxel/server.crtSSLCertificateKeyFile

    /var/httpd/keys/yoxel/server.key

    If you can, it might be advisable to disable(such as with iptables) port 80 on yourVirtualHost IP, especially if you are not using

    it. This will prevent any accidentalunencrypted redirects, either due to bugs ormisconfiguration.

    SecurityDepending on your Apache configuration,you will probably have to secure up some ofthe directories within the Yoxel package. Inparticular, you will want to secure up theincludes, not only with f ilesystem

    permissions, but also in the apacheconfiguration.

    Options NoneAllowOverride NoneOrder deny,allowDeny from all

    Then test this by making sure you can'taccess the configuration or other sensitiveareas of the Yoxel installation with your webbrowser. To test,simply point your browser athttps://your_yoxel_server.com/includes/sw/db.inc.

    PHP5If you installed PHP5 with Apache 2.2, you

    might have some configuration weirdness tofix. Simple add AddHandler php5-script phpunder the LoadModule block. Add index.phpto your DirectoryIndex statement, and the

    Yoxil :: Agile Product Management

    o3 magazine :: page 14

  • 7/30/2019 o3 Magazine issue 7

    15/17

    following to your mime_module block:

    AddType text/html phpAddType application/x-httpd-php-source phps

    Configuring MySQLThe Yoxel database name is hardcoded inthe Yoxel code. But if you are vaguely familiarwith PHP, you can easily edit the code anduse a different database name, if you areparanoid. The database is calledlocal_yoxeldb2. You will need to create thiswith MySQL. The easiest way is from themysql interactive console with:create database local_yoxeldb2;.Then you simply need to grant privileges to

    the user. For example if you wanted to usethe username bugs and the passwordwh4tsupd0c, you would use:

    GRANT CREATE, SELECT, INSERT,UPDATE, DELETE, LOCK TABLES ONlocal_yoxeldb2.* TO 'bugs'@'localhost'IDENTIFIED BY 'wh4tsupd0c';

    One thing to note. If you are using mysql in a

    chroot, you'll probably be using mysql oversome kind of private IP address. In that case,you'll need to replace localhost, with theinternal IP address that the web server wouldbe using to access the mysql server over thatprivate IP subnet.

    Configuring YoxelThe Yoxel configuration is relatively straightforward, you first need to chown and chmodthe yoxel htdocs recursively. For example:

    chown -R www:web \/var/www/secure/yoxel/htdocs

    chmod -R o-r /var/www/secure/yoxel/htdocs

    Next you will need to edit includes/sw/db.inc.You will need to set $MyDomain to yourdomain name, $MyCName to your companyname, and $MyCN to the short version of

    your company name. You will also need toedit the define() lines for DB_USER,DB_PASSWD, DB_HOST andDFLT_MU_UNAME. The first three are pretty

    straight forward, the user, password andserver IP for the MySQL server. The last isthe default admin username that you want touse. Keeping with our theme, here is whatwould work with the examples we have so far:

    $MyDomain = "mycompany.com";$MyCName = "My Great Company Ltd";$MyCN = "MGC";

    define('DB_USER', 'bugs');define('DB_PASSWD', 'wh4tsupd0c');define('DB_HOST', '10.0.33.60');define('DFLT_MU_UNAME', 'acmeadmin');

    You might ask why we don't use a FQDN

    (hostname) for the DB_HOST. That'sbecause in case of a DNS failure, we don'tlose access to the database and preventYoxel from failing.

    Code HackingIf you are keeping with our example, thenyou'll need to do some code hacking to stopYoxel from trying to do some crazy HTTPredirects to the unencrypted version of your

    URL. The documentation is a little sketchybecause it tells you to simply remove thecomments from the $https_srvr line, but withPHP 5, this seemed to not be sufficient.

    A few lines down from where you set thevariables above, you will see a block of codethat looks like this:

    if ($production_mode) {$http_srvr =

    'http://'.$_SERVER['SERVER_NAME'];$https_srvr =

    'http://'.$_SERVER['SERVER_NAME'];// Uncomment the next line to use

    secure SSL connection// $https_srvr =

    'https://'.$_SERVER['SERVER_NAME'];} else {

    ...}

    To work around the problem (as removing thecomments should have worked), we simplyremoved the comment but changed both

    Yoxel :: Agile Product Management

    o3 magazine :: page 15

  • 7/30/2019 o3 Magazine issue 7

    16/17

    http_srvr and https_srvr so that the url prefix(http://) is now (https://). If you are using the.debug file in the root directory of yoxel toenable debug mode, you may also have toadjust the else block URL prefixes as well.

    Debug ModeIf you get a window saying "the site iscurrently experiencing technical difficulties",you can create a .debug file in the rootdirectory of the yoxel installation(/var/www/secure/yoxel/htdocs), and Yoxelwill give you a much more useful response.

    Other ambiguitiesOne slightly confusing aspect of the

    documentation is that while you set theadmin username in DFLT_MU_UNAME, thepassword is actually the DB_PASSWD thatyou set. When you create accounts, there isa locked option on the account. This optionactually means disable. This is in contrast tosome other web applications, where lockedmeans that the account cannot be deleted,rather than locked out.

    Additional SecuritySince Yoxel is a PHP application, and if youare running Apache, you have the option ofusing mod_security to prevent a host ofattacks against your PHP application. Wediscussed mod_security in issue #2 of o3magazine. While a little dated, the article isenough to get you up and running withmod_security enabled to protect Yoxel.

    ConclusionYoxel is a great business solution, especiallyif you want a unique customer focusedproduct management solution, that is tied intoyour software development. SplicedNetworks has deployed Yoxel as our coresupport service for customers and partners.The interesting thing about Yoxel, despite itbeing more business / customer focused, isthat you could actually apply it in theory toother non-IT related products and services,

    as well. The latest release 1.16 includes ahighly configurable dashboard, that lets theuser put whats important to them at theirfingertips.

    Yoxel :: Agile Product Management

    o3 magazine :: page 16

    http://www.o3magazine.com/
  • 7/30/2019 o3 Magazine issue 7

    17/17

    http://www.o3magazine.com/