I am currently working on a redesign. Older version still available at version.1.ahmedkamel.net

My recent ma.gnolia links, all

  1. Daniel Hofstetter Says:

    You say that CakePHP’s documentation is bad. What could we do better? What are you missing?

  2. Ahmed Kamel Says:

    Hey Daniel,

    Well I found myself constantly getting lost in the documentation for Cake. Honestly I feel like things are all over the place, I don’t know if I should be looking in the Manual, Api, Wiki, or the elusive Bakery (I get a link to the Bakery from time to time on the top nav bar).

    Other than that, It took me quite a while to figure out that what I bake is not reflected in the main app (or so it seemed) and that I would have to point my domain to my bakery directory and not my CakePHP.

    So as to what can be done to make the documentation better :)

    For starters I think the screancasts should have voice in them, I might be crazy, but they don’t :(

    Also I found that the screencast that I saw was using the bakery, so I expected the manual to follow the same methodology, but was hit with classes and code right away; not that I mind code, but for someone that doesn’t know about the framework it can be daunting.

    I am really interested in CakePHP, and would be willing to document my experiences and recommendations while learning and using it.

    ps: how did you get to my post so fast?

  3. sebastian Says:

    Django rules! I started using it months ago and have not looked back .

    IMHO RoR has the hype but is too “magic” — it controls the programmer rather than the programmer controlling the code. Cake I’ve never used, but it’s PHP and PHP has lost its luster.

  4. Daniel Hofstetter Says:

    Hi Ahmed,

    Yes, there is some confusion, but in fact it is easy:
    - use the API when you want to know what functions a class has or you want to know what parameters a function expects
    - in the manual you find the concepts and examples
    - the wiki provides user-contributed content, especially tutorials (will be replaced by the bakery in the near future)
    - the bakery is not online yet

    Yes, the first screencasts were without sound. But the latest has afaik sound: http://cakephp.org/screencasts/view/4

    Thanks for your feedback :)

    PS: Your post appeared in my technorati watchlist.

  5. Clive Says:

    Hi Ahmed,

    Could you please share some details on what you had to do to get cake to work on 1and1?

    Did you manage to get it to work with mod_rewrite enabled?

    Perhaps you could post details to the cake group
    http://groups.google.com/group/cake-php, as I think there a few people have problems setting up cake on 1and1. Me for one ;-)

    thanks, Clive

  6. Ahmed Kamel Says:

    sebastian,

    good to know you like django, where have you hosted your application or site?

  7. Ahmed Kamel Says:

    Hi Clive,

    Ok, I will post my solution to your problem here and on http://groups.google.com/group/cake-php.

    I found the solution some where online after long hours of searching, and indeed mod_rewrite is the problem on 1and1. It seems that for things to work on 1and1 you have to add a / at the beginning of the url specified in the RewriteRule (.htaccess).

    So, you cake/app/.htaccess file should look like this:

    RewriteEngine on
    RewriteRule ^$ /webroot/ [L]
    RewriteRule (.*) /webroot/$1 [L]

    Note, that you would have to make the same change to all your .htaccess files.

    In my case, I decided to work with the bakery, so I only bothered making the changes to the /cake/bakery/webroot/.htaccess file (given that my sub domain points to that folder).

    Cheers and hope that helps.

  8. kamel Says:

    hi ahmed do you still remmeber me when we was kids i hope so i wish you & your family fine kemo egypt

  9. Steve Says:

    You used to have a bomb-ass NSIS users manual. Now it seems to be gone. I liked yours because it was fully enumerated onto virtually a single page. Any chance of you sending it to me, or resurrecting it?

    http://www.ahmedkamel.net/cusec/2004//doc/DocSrc/Contents.html

    Regards,

    Steve

  10. Ahmed Kamel Says:

    Hi Steve,

    The documents have been moved under the version.1 alias: http://version.1.ahmedkamel.net/cusec/2004//doc/DocSrc/Contents.html

    btw. i did not write these documents, i beleive they were part of the NSIS documentation made available by Justin Frankel for the CUSEC 2004 Competition.

    Cheers

  11. Spiro Says:

    Hey!

    So how are things in Redmond buddy! I saw N at the Microsoft kiosk this week :)

    Well, nice redesign :) So you developped your own CMS using cake? There are some glitches though, like the textbox I am typing in now is way below the name, e-mail & website fields, I guess it is being pushed down by the comments, but it is a nice idea to put the comments on the right side of the post.

    The other thing is that I could not find your XML feed :P

    I am in the process of redesigning mine using Drupal, which I really like because it is a full-fledged CMS. I still have to work on it mainly to make it IE compatible (when are transparent PNGs going to be implemented at last?). I\’ll have a box on the page where it will display my friend\’s blogs through their XML feeds.

    Cheers!

  12. kevin Says:

    hey ahmed,

    i hear cakephp is great , but that it takes a bit to get into the mental model.

    eddy balso uses it alot at his new startup, and was telling me that at first it seems hard to understand (maybe because of poor docs) but that after he spent some time digging in the code he found it very easy afterwards.

    also I see through spiro’s comment that you are at Microsoft in Seattle (why am i not suprised?) . anyways, i now live in Vancouver B.C. Soif you want together some time, or go snowboard whistler shoot me an email.

    Kevin

  13. Kal Says:

    If you ever plan on switching to DreamHost, make sure to NOT read the page about Ruby on Rails on the DreamHost support wiki. That page is a total mess. Read the page on Capistrano instead. Capistrano is a tool to automate the deployment of Rails applications.

Rake, Bake, or, … Django?

July 3rd, 2006

With every new design comes a heap of choices, this is the story of such a choice. I intend to implement quite a bit of new features into my website, and need to build a solid infrastructure. In the past this had never been a great dilemma, since at the time of the last design I had nothing but my trust HTML to rely on. Now it’s the era of MVC, scaffold and bake frameworks, and I need to make a choice.

Which framework should I use? Should it be the ever so famous and hyped Ruby on Rails? Or the less known but seemingly good CakePHP? Or should I instead chose to venture into the world of Python and try my hand at the not yet version 1 Django?

For starters Django is in Python, and this adds a complexity, in that I would have to move to a more framework friendly host, say Site5 or Dreamhost. Django does seem to have a nice site and documentation. On a similar note Rails is very hip these days, and I have started playing with it, but once more, I would have to switch hosts, but given the great community that surrounds it, and the books (of which I own Agile Web Development with Rails) I think rails would make a great environment. But wouldn’t CakePHP do? I wouldn’t have to switch hosts (yes I managed to get it running on 1and1) and using ssh I can login, and follow its wizard like interface to create Every single components of the MVC pattern. Plus, its PHP people, you know, the same language as Wordpress, my beloved Wordpress. The decision might be easy then no? Yeah you got it, there is a catch; CakePHP’s documentation is bad.

But does it really matter which framework I chose? they have all left this bitter/ikky taste in my mouth, since after looking at my initial Object Model design I realised that I would have to go through quite a few hacks to get any of them to get anything as close to Object Inheritance implemented. And don’t you dare say Single Table Inheritance.

Am I going to have to settle for a work around? Or will I be brave enough to tamper with one of those frameworks and try to fix this inheritance fiasco?

It all depends on my spider-sense.

tingle, tingle: spider-sense say I should take a closer look at how Django defines it models.

Leave a Reply