This branch has not been much fun at all. Usually the stability branches bring me joy as I watch the product become more stable and usable. However due to a LARGE development change in 0.17, which essentially rebuilt the whole database system, I have been putting out a lot of spot fires (aka – quick bugs).
I am at no point stating the 0.18 branch is a failure when it comes to stability. It does not win – or finish, but more of a very hard try. Whilst doing this branch I realised a scary thing;
These two features in NearBeach have not been completely fully designed/developed consistently. This has annoyed me a lot, as I have noticed that the permissions/assigning is not consistance at all between the objects;
I am going to finish off the 0.18 branch early to open up for an extended development of 0.19 branch. Final testing will occur tomorrow. Please note – git changes might not occur for the next week due to whiteboard planning (sometimes need to draw connections on a white board).
Been a rough month. Still many bug fixes are in the pipeline
– BUG420 – Tasks costs are blank
– BUG415 – Associate tasks brings up errors
– BUG426 – Assign tasks to projects does not pass throuhg permissions
– BUG410 – Saving profile shows dialog
– BUG421 – Task Quotes – causes bugs
– BUG422 – Add customer to campus
– BUG409 – Can not search customers
– BUG411 – My profile not saving
– BUG412 – Can not add a website to profile
– BUG414 – Email – does not go to correct page
– BUG423 – Uploading a document to customer does not fully work
– BUG407 – Mapbox is now showing
– BUG419 – Task Information can not be associated to a customer
– BUG402 – Project Read Only – does not pass through permissions
– BUG406 – Can not modify campus
– BUG384 – REcapture not allowing users to log in
– BUG383 – Update the about section in github
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
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.
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.
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;
Remembering variable/field names later
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.