Wednesday, March 19, 2014

I was stuck for a while trying to figure out how to get my own page into the admin backend of the Sonata Admin Bundle. Specifically, I wanted to have a link in the top menu bar to a page that is created by a controller of mine.

Let's assume that our bundle is the AcmeDemoBundle, residing in the src/Acme/DemoBundle/ folder, which is where most of the following files are in as well.

The first step was to extend the standard_layout.html.twig from the SonataAdminBundle by creating a file here: Resources/views/standard_layout.html.twig

As an example it could live as an object in the window.navigator.progress namespace and have the following functions:

reset()
set the progress bar to zero

set( percent )set the progress bar to the given percentage valuefinish()set the progress bar to the full position and possibly hide itget()returns the current loading progress in percentHaving said that, I noticed, that the browsers I use (firefox and chromium) don't even have the loading progress indicator anymore. I can only speculate, that this is because the vendors noticed, that the indicator wasn't helping much anymore due to the increased usage of javascript to control content in the DOM. I think that bringing back the indicator and handing control over it to the developers would be a nice touch in terms of usability.

Wednesday, November 10, 2010

After reading some good advice, some very specific to SEO, what to do after launching a website which I ran across on HN I decided to write my own. This is a checklist if you're in charge of creating a website. I wrote it, so I would think about it myself, but I'm looking forward to your comments. I have a "regular" website with mostly text and image content in mind, but lots of it applies to forums, wikis, html5 apps etc.

You may or may not be the person who came up with the idea of the website

Create a list of all features, break them up in smaller pieces until you can approximate how long each step will take. This is called a work-breakdown-structure. Talk to the client / partners about these features and how long you think they'll take.

Figure out what is important about the website. Get the priorities right, some features may not make the initial launch. Suggest less expensive alternatives.

What parts are you responsible for? The content, the design or the implementation? (MVC anyone?)

Find out who the website's audience will be.

What is the audience looking for on the site? How can you help with that?

Does your audience have special needs, think about accessibility.

What kind of traffic will you get? How will you accommodate for that?

If you're responsible for implementing the design, decide which browsers you would like to support:

If your editors want to embed videos, mp3s, PDFs, DOCs, PPT etc, how should they do that?

How is search done?

What users and access controls should exist?

What social media integration?

User sign up?

Twitter, Facebook, Google, OAuth etc.

Comments? By Disqus or IntenseDebate or with own user accounts only?

Figure out if you'll need a content workflow, like a review process for new user generated content or regular content from editors.

What development framework do you want to use?

The main point is: Will you use a out-of-the box solution, like a CMS or do you want to use a web development framework? Lots of options, no way of finding out what is the right tool, getting a broad overview is important though.

Will you always be the only one working on it? If not, consider how difficult it is to find smalltalk-devs for seaside... Maybe Drupal is the bettter alternative, lots of PHP devs around, filtering out the bad ones is the bigger task. With Rails its a little more work, but also more control, ruby developers tend to have a better grasp of the technologies they are using.