Results 1 to 4 of 4

Thread: Website Architecture Restructure Advice

  1. #1
    Join Date
    Dec 2014

    Website Architecture Restructure Advice


    I will try and be succinct and you can ask for further information if you feel it would help.

    We have designed and built a website for delivering training courses. We are continuing to add Courses and Lessons. Our design approach has been to design the Lessons in a similar way to designing a book in that each Lesson contains many 'pages' with no scrolling, of a fixed size, and the text and images carefully laid out individually with attention to the flow of the content and the use of white space. A navigation bar at the bottom allows the user to go to the next or previous 'page', jump to any of the sub-sections of the Lesson or jump to a specific 'page'.

    We have created hundreds of Lessons and each Lesson has been approximately 20 'pages' in length. Our simple but effective approach has been to have a single html file for each Lesson and create each 'page' within its own Div. The visibility of the Divs are controlled by JavaScript functions called by the navigation bar at the bottom of the window (swf file). This way when managing and laying out all of the content we don't have thousands of individual html files and navigating a Lesson is simple. Also we can easily open up a complete Lesson and review it in isolation in a browser.

    Just to complete the picture we have developed Course html files which act as a wrapper to pull in and display collections of Lessons. The Lessons are displayed within an iFrame in the Course html file and xml files are used to determine which Lessons a Course contains.

    The project has been very successful (here comes the 'but') but our client is now increasing the length of new Lessons and it is this which is forcing us to re-consider our approach. Our client has a very managed corporate intranet and all Users have IE8. When viewing a Course and clicking to view a Lesson the whole Lesson has to be downloaded just to view the first 'page' (you knew that of course!). It was slow but acceptable before, now it is becoming a real problem.

    So, eventually, here is the question: how could we evolve our approach to delivering our content more efficiently, asking the server to deliver page by page rather than a whole Lesson up front?

    When the project started we were told by our client hosting the website that we could not create a dynamic website accessing SQL or similar so we went static with xml data. We have more freedom now and could employ a more dynamic approach. However I would prefer not to start again as we have a huge amount of legacy content. An ideal would be to evolve our current approach but to manage the downloading better.

    I look forward to hearing your thoughts.



  2. #2
    Join Date
    Mar 2012
    I think that there are a range of options. E.g.:

    - minimalist - Implement a block structure of up to 20 pages, with continuation blocks thereafter. Load time little better than at present.

    - moderate - Implement a block size of up to 5 to 10 pages (or so). Reduces the load time, but has more impact on the creation/maintenance process.

    - high - Implement a block structure as above AND a 1st block of only 1 or 2 pages (to minimize the initial load).

    - higher - Restructure the pages using PHP include files for the common elements (header, footer, nav-bar etc...) then paginate the content in blocks as above. Benefits from the caching of the include files, so that all that is loaded (after the initial load) is the content.

    Note: Whichever solution is chosen, it should be possible to write a PHP script the convert the existing lessons to the new structure.
    Last edited by jedaisoul; 12-22-2014 at 03:38 PM.

  3. #3
    Join Date
    Dec 2014
    Thanks for the reply

    Could you expand a little on the use of blocks please. Does this control which elements are loaded by the browser better?

    Thank you.

  4. #4
    Join Date
    Mar 2012
    I use the term "block" to signify a collection of pages which may, or may not, represent a whole lesson. You would need to add a flag mechanism, to indicate whether a continuation block exists, and to access it. This can be done in a number of ways, but the mechanism chosen would probably need to reflect the existing mechanism by which lessons are accessed.
    Last edited by jedaisoul; 12-23-2014 at 05:31 PM.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

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

Recent Articles