To Do list (redo)

Working list - just realised there will always be new possible improvement some everyday - this is to drive the completion of the project and to ensure items are not forgotten. 

8 May - I have moved Barcode reading completely to the native IOS barcode solution (from ZBar) and tested it  - it reads well from the camera and I was able to add most of the bells and whistle features that Z Bar has, as far as camera capture is concerned - in fact I was able to add ability to change the camera device from front to back and vice versa via button controls.  Aside from QR Codes, it also reads Aztec, PDF417 Code128, Code93, Code39, UPC, EAN. some of the barcodes supported by Zbar was dropped particularly I25 and Codabar but the addition of PDF417 and Aztec codes are a welcome addition.  

This is sufficient for Registration purposes, unfortunately, Native barcode decoding does not support decoding from image files. As a result I am unable to use this in my old QRU apps without compromising a major feature of reading the barcodes directly from email.   

May 9 onwards will continue app development and testing Aside from the UI and barcoding the following are in the to do list (app wise):

excel csv loading - 
apns - push notification  / web services
reporting

(this list add to the list of items to do for the website).


6 May -  Started the compiles - IOS 7.1 SDK  just made it mandatory to include the 64 bit architecture in all the products. I think they found a way to come out with an executable that is both 64 and 32 bit ready I guess as a transition to an all 64 bit future. problems is a lot of the 32 bit SDK broke including Zbar.  (In fact all my codes suddenly started popping 100s of warnings as items such as lengths and counts suddenly transformed from an integer to a double - (turns out apple has a tool to do the transform automatically but found out about it after a few hundred manual updates).    Zbar however is a bit different (and so is ZXing) in the sense that the core codes are not even ARC compliant. (I got hold of the source code via mercurial). Tried to recompile - which it does but the resulting static linkage library keeps being rejected by my app when link editing saying that it misses 64 bit compatibility (changed messages a few times though as I tried different things).   

I am bypassing the Zbar compatibility issue - (if someone fixes it - I will probably reuse) New features of IOS7 includes barcode decoding built in to the facility that does facial recognition.  Its 64 bit ready, I have been working on it since yesterday afternoon, it supposedly supports code128 - a requirement to read the ISBT blood container barcodes. Moving ahead though - not just for this project but for the rest of my barcode apps - I will have to replicate all the bells and whistles I built in with Zbar to the new facility from apple (AVCaptureMetadataOutput), I'm particularly worried about reading barcodes from emails which my apps are already doing but I'll decide once I get over this project and start updating the barcode apps again.   

3 May - A couple of days into the app - just built the Core Data Schema - I'm ignoring the site in the mean time however, I will be posting new capabilities that will require a rework of some sort for the website as the App interface is being built.
  •  Schema changes - Will be separating event from activities within events - this will support training sessions for CPR, FA, and LifeSaving better since the app can serve to check attendance on per session basis. On future versions an examination/evaluation content type can be added to keep track of grades (or it can be added now). 
  • Schema changes will affect webservices endpoint  At this point I am thinking of duplicating the app schema into the website and operating the app interface in parallel with the OG -  deciding between that and regressing the registrant, event, and activity data into its individual CCK structure. 
  • Looking into new IOS7 capability for peer to peer networking. 
   

28 April - Add a 3rd module to this payments  - both Payments and Currency seem affected by some issue in installation in particular it seems to be installing a folder on top of the previous module folder making some of the inc. file missing (for both Payment and Currency which came out at the same time. Grafting the new folder to the root will correct the folder structure but not drupal's registry. I am not sure now if there is an issue in the drupal base that I have or not.  I'll wait for a few days to see if a fix eventually comes out or if I have to start looking at the base. Just add this to the list of need to check in the mean time / observe next update event  - I'll move to the mobile app in the mean time.

25-27 April - need to attend to other matters, resuming work 26 at night when the site got hit buy bad 3rd party module updates.  Horrible time recovering the new workflow features are worth a try if only they were working the other was just irritating since I don't event currently use it (Currency Module).   The 3rd party modules really has no guarantee of performing properly after an update - its free but far from bug free - lesson learned here is the need to start formulating production operational  procedures. A min of 2 sites will be required, maybe more if development need to be split then merged later.  Start moving to the iPad app tomorrow. 

24 April (overnight update)
  1. Gmap Hide and Seek  - Problem only happens with Safari 7.03 in Mac - checked out all other browsers in other platforms including all browsers in Windows (Safari, IE, Chrome, Firefox), Safari for iOS (iPad and iPhone). Problem is isolated to a Type Error exception when dealing with Drupal.gmap. A warning was issued previous to this  - you have included Google Maps API multiple times and this could create a problem
  2. Send email for any changes in Event -  No out of the box solution - rule triggered by event update needs to be programmed and tested (PHP).  


23 April - day of bug fixes before we move to iPad app development.
  1.  Resolved - signup issue (remaining major bug) before I move the work to the iPad.  
  2. Looked into it, I am deprioritizing this. The event calendar module is not essential, I included it for the convenience of tapping on a date to start booking an event, however, that function has stopped working properly with the latest bug fixes. I will uninstall/ install the module to try to fix it. If it still does not work , I'll regress the site to use the vanilla event booking (using a link). 
  3. Map hide and seek issues suspect it is browser related - works perfectly on mobile safari / webkit the iPad and the iPhone, just have problems in the Mac safari where it seems to erratic - sometimes present sometimes absent. 
  
22 April - General Status - Yesterday and the day before, I tried to clear as much of the bugs as I can.  The major task ahead is the iPad app and the services to talk with the app, it just makes sense to fix the little things first to ensure that they do not cause any undiagnosed issues with the major thing later. The Entity module, while not being part of the core is particularly pervasive and affects 

21 April - Upgraded Drupal to 7.27?  It was a security release I guess because of the Heartbeat issue / malware that affects SSL. Started clearing the bugs detected.

20 April and earlier - Template for web services module using CRUD is ready, this needs to be tested with an iPad App. Note: The site is mobile ready so there is really no particular reason to include a Create service  unless I should use it for offline mode (the details are still not well formed in my head). I'm pretty sure I want to use this to update the registration records with the bloodbag barcode and donation indicator/ attendance check after the event is over. I am not sure if I want to use this to prepare the iPad app for the event through an offline replica of the reg list. Seems a CSV file  download (through the app) is simpler and more elegant.
 
Required list(not in order): 
  1. Bugs
    • Disable Group Audience edit when creating group content (the GA is auto populated from the group) selecting more than 1 creates SQL exception which expect only 1 GA - that exception is not acceptableModule code updated manually and the issue is fixed,  Will have to advice Entity group/ OG  about the fix so they can put it as permanent fix or do another one. April 22
    • Group signup affects registration - the registration form does not appear  - it seems to just be between the group signup and registration  - in both cases I saw it happened on the iPad after a new user registered via social network, FB and twitter.   .  This is a major bug - I don't detect this because: I do it in the Mac,  my ID is an administrator ID and I formed the group. Need to retest using old non admin IDs in the PC and see if it only happens in the iPad, would also check mobile phone registration.    OG Security Issue, Each field was protected need to enable edit for ordinary users to fill up form.    Disable auto link between Blood Letting registration and signup/ FB registration (need new FB ID and other test resources actually need a lot of them than the 5 email ids and 2 twitter accounts that I currently use and some robot to simulate concurrent transactions).
    • Migration from field_date to field_event_calendar_date - this is to streamline the calendar  / event interface.  The site currently uses the Calendar Modules Date variable prior to event calendar.  The event calendar module is an add on that  forces the use of its date variable, it use to have problems but seem more stable today. It use to allow picking dates from a calendar.    This will require a reinstall that will wipe out my registration data - problem -we'll do this later  . 
    • Maps display seems erratic - this needs to be investigated (this is really nice to have, no apparent control or setting  aside from the use of the location widget - needs 1 more round to investigate and ensure that all settings are covered.(and a fresh set of eyes))   (this works properly in the iPad but is playing hide and seek in my mac - probably css related or missing some resources that gmap expects - need to test this in PCs as well and the other browsers). Problem only happens with Safari 7.03 in Mac - checked out all other browsers in other platforms including all browsers in Windows (Safari, IE, Chrome, Firefox), Safari for iOS (iPad and iPhone). Problem is isolated to a Type Error exception when dealing with Drupal.gmap. A warning was issued previous to this  - you have included Google Maps API multiple times and this could create a problem.
    • New bug discovered HTML purifier module affects configuring setup to manage text format of users. Took of HTML text option from users - Display suite is pretty good stuff without the security risk.
  2. iPad app / checkin attendance (1 app operating offline db and printing) - wifi label printer required. 
  3. App- Batch Interface:
    • excel CSV registration list download . (we'l'l also do web services but the services are record by record), batch CSV download seems to make more sense . -:MySQL 'max_allowed_packet' setting may be too low for Views data export to function correctly, Drupal's requirements recommend setting it to at least 16M  I have raised issues with my provider regarding the cache size which they do not want to bump up for the hosting service I subscribed to.   
    • Post event Update registration records - think this needs to be done via HTTP post or through web service. (The task can easily be done by SQL update utilities -  not an option if Red Cross does not have the IT personnel).  
  4. event cancelation/ update facility (triggered messaging to participants when the event particulars are changed particularly venue and date - codes to update e tickets via passbook web services is in the wish list, it can be added when other items are working).  
  5. Address repeating DIN among event types (CPR vs FirstAid vs. lifeSaving vs. blood donation) note only the blood donation DIN is an actual requirement  the training classes can use serial numbers but using the DIN universally allows simplification of post registration process.  The Red Cross should decide if it wishes to use a designated/ semi permanent Donor Identification instead of the DIN (Donation Identification Number) this can be done and the DIN can be generated separately just for blood donation. (see red cross list) - deprioritized -  lets wait for the Red Cross reply.
  6. View of updated record for past events. (Key is eventID + DIN).  Downgraded to wish list, a selectable view already exist through the calendar (Past Events) Not sure if I will still need a separate programmed view.
  7. Site Related: This will need to be covered on a prod environment (I can source this out for the Red Cross or we can piggyback to their existing domains if they have sufficient resources - cost for the domain/SSL/hosting for shared server production class hosting should less than USD 1,000 a year ) :
    1. Domain name - I can adopt the site under my domain dacapoapps.com --   maybe something like https://red cross/dacapoapps.com but see it needs its own SSL.
    2. Own SSL  - The site is currently using the shared SSL of the host provider "https://secure.inmotionhosting.com/-dacapo5/rc"
    3. The package that I am using is under specced for Drupal, for optimisation it requires a slightly higher package - this will allow the cache sizes to be properly configured
  8. Fix Text format to plaintext and display suite for the red cross and ordinary users. Disable other options Done April 22
  9. User Security/ Role Testing.  This needs to be done prior to demo ( I am using the admin ID most of the time, last task before demo is to go through a lll the facilities to see if  Red Cross Leader/ Instructor ID  and ordinary registered user IDs will work as expected. Also to be tested are red Cross Ids that are not event administrators but joins the group as observer - using the default group permissions instead of admin.
  10. Volume. Stress testing (after demo) perhaps in prod site if it happens.
  11. Automated frontpage management
  Wish list:
  1. Fix Default settings to Display suite for edit fields. (Same as no 8 in the required list - text format limited to plaint text or Display suite if you need to add images, HTML formats disabled) April 22
  2. Add additional signup fields (address, and phone) to enable formless registration for old registered users. (the fields will need to be programmed).  (related to bug # 2 - these fields were already added to the signup,  FB registration skips the address and phone but once available I should be able to propagate the values to registration via Computed field. 
  3. FB Graph objects registration integration  related to item above.
  4. SMS probably Yahoo SMS service which is free in the Philippines but not available in Singapore (how can I test?).
  5. "On- event" distributed processing - Allow multiple devices to process the queue as scanning stations.   We'll work on the basis of a centralised registration list and printing. 1 options are to put this on a mobile tablet app or PHP web server via MAMP. An iPad deployment should be cheaper (equipment wise) than using a portable web server/PC notebook. - this needs to be evaluated more, in terms of additional work required (It is easy to clone the website via FTP but to keep it in sync is probably problematic). .
  6. on demand download of registration list and records.
  7. dynamic electronic ticket update -  (allows resetting of date or cancelation of event to auto update existing tickets).  (Note current tickets have working expiration dates and venues fixed at the point of application).  
  8. Late registration or "on event"and  "on site" registration. (At the moment the registration are to be closed just prior to doing the bulk download - this will tie up  with item 3).
  9. selectable view of registration list for past events. Already available via Calendar Past Events. Also added Archive view for the rest of the published items and not just the events. April 22
  10. Auto Translation to  Filipino to come out with a Bi-lingual site (in prep to possibly offering this in Singapore (which will require mandarin, Bahasa, and Tamil). 
  11. SEO - Search Engine Optimization - I have some modules for SEO particularly microdata but I doubt if it is of real value for the Red Cross.  If implemented it should be possible for the volunteers to goggle their name and a hit on the red cross site can appear - but is this really necessary?  
  12. Fees - There is a commerce module available to collect fees via credit card or paypal (probably for donations?)

Required info from the Red Cross - possibly during demo:
  1. ISBT128 - Get the designated Blood bank prefixes (X9999) for all Red Cross Blood Bank facilities countrywide and update the RC table with the actual codes. 
  2. Existing facilities (label printers etc.)
  3. local ISBT 128 compliance issues Donation Identification (DIN) or Donor Identification + DIN 
  4. Registration Policies - can you signup on behalf of others?
Error | Rizal Chapter

Error

The website encountered an unexpected error. Please try again later.