Kaydoo

A Day in the Life of a Developer

BackendPro 0.4

Well I’m going to say sorry for taking so long. The last several months have been tough to find time to work on BeP, but its done.

Now this release was more about trying to improve the current BeP system rather than add new things. There are a few bug fixes which were needed and also some Optimisation. Now BeP won’t load unless you use its controllers. Which means Ajax controllers are now possible (without haven’t to load the whole BeP system). This should decrease the loading required.

A quick overview of changes are below:

Additions

  • Added a new readonly style for the forms. Now if a form input is readonly add the class readonly to it to display a greyed out look. See Enhancement #44
  • Added the new Image controller which allows images to be loaded dynamically.
  • Added a new Popup Container which allows a popup window to be created with all the advantages of the BackendPro system, but without the navigation/footer/header.
  • A new and improved install script. It now performs system checks (e.g log folder writable) and gives detailed information on the process.
  • New documentation in the user guide about the process of upgrading versions of BackendPro

Modifications

  • Removed the BackendPro class and instead incoperated the library loading code into the Site_Controller class.
  • Moved the welcome controller and view to its own module so its easy for the user to delete.
  • Fixed some spelling errors both in the user guide and in the code.
  • Removed the webmaster name/email preferences since these seemed old fashioned and also were not used by the base system.

Bug Fixes

  • Fixed a bug where you couldn’t change a permission allow status, i.e. from Allow to Deny, See Bug #54
  • Fixed a bug where a “deprecated” warning is thrown when using pass by reference in php 5 in resource.php view, See Bug #55
  • Fixed a bug where you couldn’t have ACL actions with a space in the name, this caused problems when trying to assign them to a permission, See Bug #57
  • Fixed a bug where when modifying a permission, instead of saving it, it created a new permission, See Bug #20
  • Fixed a bug where status messages would get repeated if an ajax controller method was called, See Bug #4
  • Fixed a bug where if no user profile fields are created but the user profiles are turned on, it would error saying “Must you set method” when trying to save a edited user account, See Bug #51
  • Fixed a bug with unserialize() Spamming logs with errors, See Bug #37

So head over to the BackendPro development site and get a copy. Hopefuly now with the Upgrade instructions it will be easy to move your current system accross OR click HERE to download the zip file.

Tough Times

Some of you may have already noticed but over the last few months there hasn’t been a lot of work done on BackendPro due to  many changes in my life. Sadly with new challenges BackendPro isn’t a major concern of mine at this current point in time. I would love to put a lot of work into it and develop it further but I just don’t have the time. Another main reason is the client wanting it initialy has decided on different plans.

Hopefully after some other projects have been delivered I can find some time to do more work but until then I am afraird BackendPro 0.3.1 will be the last release untill then.  Heck the client may even want the project fired backup again and ill have the reason to work on it. So have fun with what I’v written so far and I hope I will be posting on here soon with good news of a new version.

  • 2 Comments
  • Filed under: Miscellaneous
  • BackendPro 0.3.1 Released

    Well I must first apologise to everyone for taking so long to get this next release out, but the last 2 months have been so busy with University finals, but they are all behind me now so as promised a new release. The majority of this release is a few new features which I was planning to incorporate in BeP for a long time. Examples of these are a dashboard for the control panel, conditional CSS files (for IE), features to use CSSTidy to optimise CSS code and many more.

    Additions

    • Added a dashboard to the control panel front page.
    • Added cancel buttons to forms.
    • Added new CSS styles to create buttons.Added icon() to Page library.
    • Added a generate password feature to the member administration area
    • Added CSS caching using CSS Tidy in the Page library.
    • Added output_variables() to Page library.
    • Added conditional CSS files in the Page library.
    • Added meta tag creation into the Page library.

    Modifications

    • Added a value option to <button> elements so the form can submit.
    • Updated some of the documentation so its simpler to navigate around.
    • Updated getUsers() in User_model.php to also fetch user profile columns.
    • Changed the version control system from including a date to release candidate, purely to be shorter.
    • Updated Nested_sets_model.php to remove the public attribute from the constructor

    So head over to the BackendPro Development home and download it. Please as usual if you find any problems raise a ticket or post on the forum thread. As always if you want the latest updates keep an eye on the SVN repository.

    BackendPro moves to Assembla

    Its been a while since I have posted anything on BackendPro, mainly due to me having such a hectic last 2 weeks. But hopefully things will pick up from here.

    I know quite a lot of people have downloaded BackendPro so far (400+) so I hope some of you are finding it helpful. Hopefully it will with this new bit of news get a little bit better. Currently I am developing it all locally, now the issue with this is any changes I make aren’t released until I upload a new version. I have wanted to make the SVN commits more public but never found a simple way which worked, I tried Google Code but that just failed in so many ways. Now with Assembla I think I have it sorted.

    So from now on BackendPro’s development home will be here. So whats differen’t? Well you will be able to get the full project source out of SVN at any time. There is also a full issue tracking system to make sure bugs are reported and fixed.

    I also hope to have a new version coming out soon which should implement some new features I have been meaning to put in. So take a gander and I hope you find the new development features helpful.

  • 5 Comments
  • Filed under: BackendPro
  • A new build has been released to fix some minor problems and also some PHP4 compatibility issues.

    • Replaced the use of static $_container in MY_Controller.php to use var $_container. This was due to static only being available in PHP5. Please run a replace command on all your user created files to replace Site_Controller::$_container with $this->_container to use the new variable naming.
    • Deprecated _generate_random_string() in Userlib.php to use CodeIgniters string helper function random_string()
    • Updated the admin menu view file so the System item would have language support
    • Added language support to the application/controllers/admin/settings.php file for defining preference groups
    • Removed passing $obj by reference to passing by argument due to issue if allow_call_time_pass_reference is false in INI file, in modules/auth/models/access_control_model.php
    • Moved the modules folder into the root dir

    Please check out the BackendPro project home page for details.

  • 0 Comments
  • Filed under: BackendPro
  • BackendPro 0.2 Alpha

    The first public release is now available. Please see Projects > BackendPro for more details.

    Download Now

    Top 5 Web Development Tools

    Being a part time web developer its important I find to use the right tools to get a job done. Now normally every morning I get about 10 blog posts on my RSS feed saying “50 most needed tools for developers”. Half of them do the same as the other half and the other half have no point in life. So, I feel to be a good web developer you don’t need a lot to get the job done, they always say quality over quantity.

    Firebug (Firefox)
    This is probably my most important extension for firefox. With the built in javascript debugging and tools to see http requests it actually makes ajax and css quite fun. Its the sole reason I use firefox over other browsers. Along with many other features including page loading time statistics, it greatly helps you see what’s taking that extra 0.2s to load on your page.

    FireBug Preview

    HTML Validator (Firefox)
    Now I don’t know how many of you actually check that your web pages are both HTML and CSS valid but this is getting an increasing issue. (I cannot claim all of my sites are valid since I am currently in the process of making them valid with this new tool). This tool sits in your status bar and tells you of any errors in the HTML code. You can also specify that it will only be enabled on websites of your choosing (e.g ones you are developing)

    HTML Validator Preview

    SVN
    Its happens too many times, change a file and something breaks but you forget what you changed and then take several hours trying to get it working again. SVN is a version control system which means you will always have every change you made to your code. It can be unusual to use at first but after a while its a real godsend. If your just a small developer and don’t have an SVN server then try Tortoise. Its not just an SVN interface but also can create local repository’s on your computer.

    IE Developer Toolbar
    This does nearly everything Firebug does, but for IE. It even does a bit more. Another must since not all CSS designs work in both IE and FF.

    Multiple IE’s
    This is a great tool for windows which allows you to install multiple versions of IE on your computer at once. No more having multiple computers running IE6 & IE7. Also it means you don’t need to use BrowserShot websites to test every page. Another must have.

    A Text Editor
    There is no link here since this is a very personal choice. But find a good text editor you like and get on with and stick to it. I have tried a few (all for windows) and can say for small time developers HTML Kit Tools is rather good but for bigger developers PhpED is perfect.

    So there you go. That’s what I use. Its not a lot but it gets the job done. I don’t belive in hundrends of programs to do everything for me, and what I do use I only want to help me if I ask for it.

    1st April 2008

    Well April the 1st has passed, I both love the day and hate it. Me being quite gullible I tend to believe some of the subtle jokes. But on the other hand I do try to make a few myself. I feel it’s great that even in this day and age when companies are looked upon so much that they still find time to make the odd joke. I also feel that it shows a lot about a company and what its work ethos is depending on if it goes along with April 1st. So shame on all you who didn’t do anything.

    So did anyone find any good ones this year? Here are a few of my favourites.

    My personal one was to do with CodeIgniter. Since there is a lot of talk about CodeIgniter 2.0 at the moment, I thought I would see how many fellow CodeIgniter’s I could catch out. At first I had no idea what to do, I didn’t want to do anything too silly, CodeIgniter 2.0 cancelled was out of the question. In the end I went for CodeIgniter 2.0 to be charged for. I felt this was just in the realms of plausibility. Here is the thread of the main post and peoples replies.

    Well I hope everyone had a good day yesterday, hope no one played any horrible pranks on you.

  • 0 Comments
  • Filed under: Miscellaneous
  • Multiple Check Checkbox

    As I am nearing the end of my initial development phase of BackendPro there’s some useful bits of code I came up with to handle annoying but simple tasks. Over the next week or so I will be releasing a lot more small applications and libraries but felt this may help a few people. Its a small script to check and un-check multiple html check boxes. Its prime use is to save the user time from having to check/un-check many check boxes. It uses jQuery and is only 1/2 lines long.

    $("input[name='all']").change(function(){
    var parent = $(this);
    $("input[name='"+parent.val()+"[]']",parent.parents('form:first')).each(function(){$(this).attr('checked',parent.is(':checked'));});
    });

    All you need to use it is the following HTML code.

    <form>
    <input type="checkbox" name="all" value="myitems">
    <input type="checkbox" name="myitems[]" value="1">
    <input type="checkbox" name="myitems[]" value="2">
    <input type="checkbox" name="myitems[]" value="3">
    </form>

    So when the user clicks on the check box with name all, all check boxes with the name specified in the value attribute of this ‘all‘ check box will be toggled. I hope someone finds it helpful.

    Windows XP Error lsaa.exe

    Do you get the feeling that Mr Gates hates you and has made Windows so when you most need it, it decides, ‘Well actually today I shall do something totally unexpected expected’, CRASH. Why else would I use it apart from to practice in the art of pulling my hair out and being baffled as to why this has happened to me.

    So what went wrong? Well I got a computer in from someone which needed fixing. So I booted it up and got this.

    lsaa.exe Security Accounts Manager initialization failed because of the following error: The handle is invalid.
    Error status: 0xc000008. Please click OK to shutdown this system and reboot into Safe Mode, check log for more detailed information

    If your wondering at the moment why I am writing this, its to try and save you some time if you get stuck in the same situation. In total I spent about 5 hrs trying to sort the problem out. I tried all of the following:

    1. Booting into safe mode to read the log and fix the issue, FAILED due to the same error
    2. Trying to perform a repair installation using the Windows XP Pro CD, FAILED due to the same error
    3. Trying to boot using the XP CD and then use the recovery console, FAILED since the administrator password had been corrupted also
    4. Using a CD bootable version of Windows and restore the system to a previous restore point, including the registry, FAILED
    5. Replace the lsaa.exe file with a new copy, FAILED

    So in the end I had to perform a fresh install. I must say this worked fine. So my advice for anyone who gets the same error, don’t expect it to be an easy fix. In the end it probably will end up with you wiping the computer.

    I must also point out I know everyone’s situation isn’t likely to be the same as mine, also I did learn something from this. If the PC in question is a Dell and you have the reinstall CD you can do a lovely fresh clean install wiping every partition and don’t need to worry about Product Keys or Activation. Which I have to say before this I didn’t know about, good news then if you buy a Dell but don’t want any of the ‘free’ programs they leave on which are impossible to use.

    Anyway good luck to anyone who has the same issue. A very good tool I also picked up along the way which didn’t help so much with this issue but I can see could come in very handy is BartPE. It is a very good application which creates a small version of Windows XP you can boot straight off the CD. It provides network access and other useful administration features to perform actions on the target PC if you cannot get anything out of the local install of Windows.

  • 0 Comments
  • Filed under: Windows