views:

23

answers:

3

Hi,

I have a tight timeline to deliver a new portal application that initially will host a new product, but overtime will be the place that we migrate all of our existing portals into (a single look and feel and eventually single data warehouse).

The major steps that I see for the initial phase are:

- Design UI              - ***************
- HTML/CSS Code          -         ***********************
- Data Layer             - ***************
- Biz Layer              -      *******************************
- User Controls          -             ****************************
- Style Controls to HTML -                           ************************

- Launch                 -                                                    *

Question: My team is concerned about starting to build user controls before the HTML/CSS is completed. I don't feel that we have the time to wait and believe that there is techniques to be able to settle on the functionality of the control. Build the control with no styles (CSS) and then when the HTML/CSS code is complete, go and apply the styles without much need for re-write.

Please share you experience on how you parallelize as many of your major application development steps to compress the deliverable time line as much as possible.

Thanks for you time in advance! It will be very much appreciated.

Jason

A: 

Why are you writing your own CMS again? Use one of the existing ones, write plugins if they don't have all the features you need.

But on the topic, I find it incredibly frustrating to work on styling forms and other controls while the site is being build and the HTML changes all the time. It was frustrating because it made the project late 3 weeks and we are still getting bug reports about some parts of the interface that don't look like they should (even though we fixed that several times already).

Radomir Dopieralski
Thanks for your feedback relating to your experience! NOTE: We are not developing a CMS. It is analytical portal that we deliver an interactive interface to manipulate data stored in our data warehouse.Pardon the confusion in my original post.
JasonBub
A: 

design UI -> HTML Code -> Prototyping of HTML Controls in server-side language

css plus styling plus UI Refactoring for better usability || data layer, biz layer

finalizing by last styling issues, integration tests, acceptance tests, ...

|| can be done in parallel -> should be done in sequence

simonh
A: 

I'm not sure he's saying he's building a CMS. Building a portal is often a case of putting portlets together into a portal product like Liferay (although you don't say).

My own experience is that the style guide that your designers create will change when it's used in ways they don't anticipate. The more complex the design, the more it will change. What you want to avoid is HTML markup changes - CSS changes are trivial. However, CSS needs HTML markup to work on, so I'd say make sure you have enough wraps, like

<div class='controlOuterWrap paddingAbove paddingBelow'>
   <div class='labelWrap'><label for='name'>Name</label>
   <input type='text' name='name' value='' class='basicTextInput' />
   <br class='controlOuterWrapClear' />
</div>

...this should allow you to float labels next to inputs, put them one above the other, apply margins and padding, etc. The more variation you can achieve with CSS alone from a given bit of markup, the less refactoring you'll need to do.

Another thing you could consider is using a tag library to encapsulate the necessary markup for a style guide, so you only then have a limited number of files to change if the HTML changes.

Mick Sear
We are not building a true cms, it will host many portlet type controls (such as charts and datagrids) for various types of analysis.One of the biggest concerns is developing a complex data grid that allows customization and then when we get back the HTML and CSS having trouble outputting the exact necessary HTML and CSS to render correctly (without a lot of monkeying around the developer.
JasonBub