Widgets widgets widgets

At the start of the NearBeach project, I had the mentality of “I want to build everything, including every widget”. That mentality that I build ALL of NearBeach without any help was quiet strong. You can see it in the design of the widgets, for example the datetime widget was actually multiple dropdown boxes and a complex javascript. Not ideal to bug fix let alone look at.

Luckily this thought pattern was eroded over time, thanks in part to jQuery. Now I am more accepting of using widgets others have constructed to help me develop faster and have a better bug free product.

The original thought “build everything myself” has actually added in a lot of man hours that I did not need to give myself. However it was a learning curve I needed to learn. Sometimes it is best to except help from others. There are many libraries, widgets and tools in the Open Source market that are designed specifically to help developers speed up their development.


A list of all different widgets used in NearBeach can be found in the READ ME file: https://github.com/robotichead/NearBeach

Alpha Release 0.17.5

It has been an extremely busy and productive few weeks. We have finished our sprint ahead of it’s scheduled finish. We have release development-0.17.5 today and it can be found https://github.com/robotichead/NearBeach/releases/tag/alpha-0.17.5


This is a feature development and we do not recommend using it unless you want to test the new features. We are now moving into our 10th sprint which will be dedicated to finding and fixing all bugs and security issues in NearBeach.

Release of Development Alpha-0.17.4

For some reason this development cycle has gone really well (famous last words). The only objectives left are;

  • Create a diagnostic page for testing
  • Look into MySQL Routines and what they can offer NearBeach

I have decided to release this version, it still requires some more testing. https://github.com/robotichead/NearBeach/releases/tag/alpha-0.17.4

Developed features

  • Fixed database naming conventions
  • Quotes now show which projects they are linked to
  • Projects and Tasks now show which opportunities they are linked to
  • Can email quote from system
  • My Profile – user’s can now edit their own profile
  • Permissions have been added to quotes

Development 0.17 update

After building a very stable and strong 0.16 branch, we have decided to revisit the database section and make some strong modifications. The main issue we had with the database was the lack of consistency between plural and singular values. As a last ditch effort, we have decided to single all plurals. This currently makes the 0.17 very unstable and we are still finding issues and fixing problems.

Currently we are a head of our schedule (for once), and we are hoping to do a full bug test session soon. We want the 0.18 branch to be even stronger than the 0.16 branch.

Development of branch 0.17 has started

Sneaky release for 0.16.4 on github. We are moving forward early to our development branch. We are hoping to have the following new features implemented;

  • Projects and Tasks show links to opportunities
  • Quotes should show which projects they are linked to
  • Email the quotes from the system
  • User Profiles
  • Look at what MYSQL Routines can do for NearBeach
  • Deploy group permissions for Quotes
  • Have a diagnositc testing page

More blogs to come

Development Alpha-0.16.2 Released

Bug Fixes

  1. Bug292 – Completed Requirements do not close
  2. Bug296 – Resolving/Closing project does not disable all functions within the project
  3. Bug369 – Bugzilla connect does not work when connecting to a large bugzilla instance
  4. Bug379 – Dashboard Widgets Have Search
  5. Bug398 – Incorrect website address not identified
  6. Bug400 – Incorrect customer email address
  7. Bug401 – Menu fails to contract.

The release can be found at – https://github.com/robotichead/NearBeach/releases/tag/alpha-0.16.2

Naming convention is important

I stole this quote from reddit user tdammers

There are only two difficult problems in programming: naming things, cache expiry, and off-by-one errors.

I will admit that I have made a mistake with my naming convention, and that mistake is plurals.

Naming convention is important for the obvious reasons;

  • Readability
  • Remembering variable/field names later
  • etc

In my case I did not keep a standard with the naming convention when it came to plurals. Some database tables/fields are with a suffix ‘s’ and other are not. This makes it extremely hard to remember what I have done and wastes time as I have to look up the table/field.

My solution – remove all the plurals and make all tables/fields singular. A statement that is too easy to say and most likely a nightmare to implement. This database change will not be occurring during this branch as it will fall under “Development” and not a bug fix.

The moral of this whole story – have consistent naming convention at the start of your project and then stick with it.

Alpha Development-0.16.1 Released

Bugs Fixed

  • BUG332 – Project History is just plain text
  • BUG365 – TinyMCE overlays the menu
  • BUG366 – Project history not accepting input
  • BUG368 – Organisation Contact History – does not have the new datetime picker widget
  • BUG373 – Customer History does not have datetime picker
  • BUG374 – Opportunity does not have datetime picker
  • BUG388 – New Opportunity does not have TinyMCE
  • BUG389 – New Opportunity does not have datetime picker
  • BUG390 – Opportunity Information not utilising TinyMCE widget
  • BUG391 – Datatime widget not used in opportunity information
  • BUG393 – Clicking the “Nearbeach” logo/home-button has no function/effect.
  • BUG394 – New Task description body overlays menu
  • BUG395 – Text field placement
  • BUG396 – Inconsistent/Incorrect Labelling
  • BUG397 – Incorrect Labelling
  • BUG399 – Expanded menu doesn’t scroll

The latest release can be found at https://github.com/robotichead/NearBeach/releases/tag/alpha-0.16.1

The 0.16 branch is a stable branch and we recommend using this branch. If you find any issues please notify us on https://bugzilla.nearbeach.org

Alpha Development-0.16.0 Released

Good news, the first release of 0.16.0 has been released. All critical bugs have been looked at and fixed.

Bug Fixes

  • BUG352 – Unable to assign existing tasks
  • BUG361 – New instance does not contain bug config
  • BUG362 – Bug Client Has No permission
  • BUG363 – Project not showing connected customer if customer has no organisation
  • BUG364 – Multiple Bug Clients – can not search second bug client for bugs
  • BUG370 – Quote Template – CSS field should be plain text
  • BUG371 – Extracting/Printing PDF not currently working
  • BUG372 – Service lines will appear in quote preview even when there are no service lines
  • BUG375 – Can not reset password
  • BUG376 – Update to Python 3 has broken models
  • BUG377 – Email Quote
  • BUG378 – No back to users
  • BUG380 – Responsible Customers
  • BUG381 – Lack of space at bottom of page
  • BUG382 – Webserver is down
  • BUG385 – Organisation Campus not rendering
  • BUG386 – Search ALL does not work
  • BUG387 – New project does not work

This branch is currently focused on fixing security issues and bugs. We are hoping to have another release at the end of the week.


The struggle with moving to Python 3 in Django

Well this is a bit of a click bait title which I didn’t mean for, however I will outline some of my struggles of porting from Python 2.7 to Python 3.6+.

It is the little changes that seems to hurt. Last night I found the following bug – https://bugzilla.nearbeach.org/show_bug.cgi?id=385. What could it mean? My following process weeded out the exact issue (after each test I returned to the original code);

  1. Remove ALL context – worked
  2. Set template onto BLANK – worked
  3. Remove bottom part of the “New Campus” template – did not work
  4. Remove top part of the “New Campus” template – worked
  5. Decided the issue was with one of the fields. Removed all fields and start placing them back one at a time

This processes led me to find out that my special widget was producing this issue. So I went to the “forms_special_fields.py” and search for the “render(” function. It found them.

class RegionSelect(forms.Select):
    def render(self, name, value, attrs=None, choices=()):

The code above works in Python2.7, however there was a slight change. This code has to now be

class RegionSelect(forms.Select):
    def _render(self, name, value, attrs=None, choices=()):

A simple _ was causing a massive critical issue.


Alpha Development-0.16.0 Status

The bug testing and fixing of 0.16.0 is still going ahead rather well. We currently have found 25 initial bugs. We want to make sure that there are NO critical bugs when we release 0.16.0 and then fix up the remaining bugs in later releases.

At the same time we are also fixing up our documentation to represent the change from Python2.7 to Python3.6+. This will include the pictures on Github and also our Confluence site.