SitePoint Sponsor

User Tag List

Results 1 to 3 of 3
  1. #1
    eCommerce specialist hotnuts21's Avatar
    Join Date
    Apr 2002
    Location
    Aberystwyth, UK
    Posts
    1,355
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Localhost Layout help

    Like most people there comes a time when your localhost layout just doesnt really do it anymore and you find there are files all over the place.

    This is what I propose doing and I think that maybe im missing something or doing too many steps! Most of my work is with Joomla and oscommerce.

    My directory structure is as follows

    -Clients
    ---Client 1
    -----Live Site Copy (staging type folder)
    -----Dev Site (testing dev type folder)
    -----Design Layouts (css/html/wireframes etc)
    -Archived Clients
    -Charity Clients
    -My sites
    ---Main Site
    -----Live Copy (staging type folder)
    -----Dev Site (testing type folder)
    -----Design Layouts
    -Joomla Dev
    ---Joomla1.5 (Core site, with extensions being tested)
    ---Joomla1.6 (latest site, with my own extensions being tested)
    ---3pd SVN (SVN downloads for public Joomla core and extensions)
    -----Joolma Core 1.5 (Svn Download of latest stable 1. 5 build)
    -----Joomla core 1.6 (SVN download of latest 1.6 build)
    -----Joomla extension1
    -----Joomla extension2
    ---My SVN (using unfuddle to store my own dev work in SVN)
    -----mycomponent1
    -----mycomponent2
    -Other Dev
    ---Mapping stuff
    ---Ajax Testing
    -Oscommerce
    ---Oscommercedev

    Sorry for the long layout of my file structure but I hope it makes sense. Im going to just use my joomla dev as an example of what I plan to do.
    1, Download the latest stable release of Joomla to the Joomla core 1.5 folder
    2, use Phing to update my dev sites using Joomla
    3, use Phing to update all my clients Joomla 'dev site' folders to 1.5
    4, all extensions are installed to client 'dev site' and 1.5 test site
    5, Use phing to update all clients sites using shared extensions

    I use the clients 'Dev site' folder to test for compatibilities with everything else on their site etc, then use Phing again when sure to push to live copy folder and update the changes to the live site via ftp etc.

    When developing my own extensions similar pattern, all changes are submitted to SVN from 'my svn' folder. The files are copied to the 1.5 core dev folder via Phing, and then from the 1.5 folder a build phing file updates all the clients (or my own) sites using that extension. This Allows me to test the extensions either my own or 3rd party on a clean install. The custom Phing files, then push the updated extensions to each clients or personal site using that extension. It also allows me to push security updates, by downloading by SVN and then pushing to all sites running Joomla.

    My only worry is that there are a lot of Phing build files, and as far as I know an SVN export can only be done to one folder/site at a time, the Phing option allows me to update all sites at least locally in one go.

    Can you see any improvements or steps I can cut out with this?
    Search & Rescue Aberystwyth Lifeboat
    CSS Tutorials/Guides

    Sitepoint signatures are not visible to Search Engines More info

  2. #2
    . shoooo... silver trophy logic_earth's Avatar
    Join Date
    Oct 2005
    Location
    CA
    Posts
    9,013
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)
    Currently my own layout of my development file system below. I like to keep things tidy and to the point, everything should have a place. I already made a post about my site/application structure here.

    To use your example of Joomla for my own structure I would put it in projects. And probably doing something along these lines: (Would use SVN external extensively thought out the main dev trunk.)

    Code:
    projects
    \---joomla-dev # SVN Repo (projects/joomla-dev/trunk)
        +---core
        |   +---[version] # SVN External (Joomla SVN Repo)
        |   \---extension
        |       \---[version] # SVN External
        |
        \---[component-name] # SVN External (projects/joomla-dev/component-name/trunk)
    Of course I'm not really answering you question huh? LOL

    Code:
    WorkDrive
    +---clients
    |   \---[client-name]
    |       \---[site-layout]
    |
    +---projects
    |   \---[project-name]
    |
    +---sites
    |   +---[site-domain]
    |   |   \---[site-layout]
    |   |
    |   +---example.com
    |    |    +---public
    |    |    \---system
    |    |
    |   \---sandbox.loc
    |
    +---temp
    \---workspace
        +---enviroment
        |   +---dns-service # BIND DNS Service & Records
        |   \---language
        |       +---[language]
        |       |   \---[version]
        |       +---php
        |           +---5.2.9-2
        |           \---5.3.0rc2
        |
        +---repository # SVN Repositories
        |   +---clients
        |   +---projects
        |   \---sites
        |
        \---resource
            +---image
            |   \---silk
            |       +---flags
            |       \---icons
            |
            \---js
                \---jquery
                    +---plugin
                    \---ui
    Logic without the fatal effects.
    All code snippets are licensed under WTFPL.


  3. #3
    eCommerce specialist hotnuts21's Avatar
    Join Date
    Apr 2002
    Location
    Aberystwyth, UK
    Posts
    1,355
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I like the layout, the one problem I see with the Joomla Dev setup is that for components etc they are not always in the same file structure as Joomla, which obviously means an SVN update will break either the site or the component. But using a lot more SVN externals might be a good idea.
    Search & Rescue Aberystwyth Lifeboat
    CSS Tutorials/Guides

    Sitepoint signatures are not visible to Search Engines More info


Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •