OFBiz
  1. OFBiz
  2. OFBIZ-226

Demo of warehouse functionality on handheld

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Trivial Trivial
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: product
    • Labels:
      None

      Description

      Jira issue created in the old server by Daniel Goodwin:

      Small (incomplete) sample application used a proof of concept of facility (warehouse) functionality delivered in form factor suitable for handheld terminals. The tests were performed on an LXE MX6 wireless barcode scanner.

      Notes

      • its not complete - in fact only Goods Receipt | Product Receipt actually works but then it is only a 'proof of concept' for my bosses!
      • screen layout is meant to aid use on handheld for minimum user input. There are, therefore more screens than necessary for normal consumption, but enables use of barcode scanner as much as possible.
      • on the product receipt screen itself, the use of javascript to enable use of <CR> to move to next field is a requirement as the scanner can then use auto-enter barcodes to move to next field without user intervention.
      • screen size is 'hardcoded' in header.ftl - would be better placed in CSS and use <div> layouts instead of tables.
      • tried to use the widgets as much as possible, though not always satisfactory outcome and had to revert to ftl in some cases.
        • - if running on version 7009 with default seed data, you may need to setup a PartyAcctgPreference for Company so that error message on receipt relating to currencyUomId does not appear.

      All Comments Work Log Change History Sort Order: [navigator.ascending.order]
      Comment by Daniel Goodwin [21/Mar/06 03:22 AM]
      [ Permlink ]
      Facility Handheld Demo (winrar format)
      Use https://X.X.X.X/hhfacility/

      Comment by Jacopo Cappellato [21/Mar/06 03:32 AM]
      [ Permlink ]
      Thanks Daniel,

      I'll have a look at this.

      About the seed data requirement: since svn rev 7035, the seed data setup is no more needed to receive products without errors.

      Comment by Si Chen [14/Apr/06 08:40 AM]
      [ Permlink ]
      David, Jacopo, et al -

      Should we put this into either a specialized/ component of its own or put it into applications/products/ ? That way others could try it as well?

      Si

      Comment by Jacques Le Roux [14/Apr/06 09:26 AM]
      [ Permlink ]
      Interesting,

      May this be used on another (cheaper) handheld (LXE MX6 costs US$3,300) ?

      Jacques

      Comment by David E. Jones [14/Apr/06 01:56 PM]
      [ Permlink ]
      Si: There was some discussion about this around the time it was submitted. Daniel liked the idea but did not feel it was ready for this yet. As soon as he wants to do it, we can setup a specialized directory and give him commit privileges.

      Comment by Jacopo Cappellato [16/Apr/06 03:54 AM]
      [ Permlink ]
      Yes,

      and I've reviewed (and modified something) the code and sent it back to Daniel with my comments.

      Comment by Daniel Goodwin [17/Apr/06 12:39 PM]
      [ Permlink ]
      Jacopo et al
      Development on this is continuing (though slow) . Should have something with a bit more functionality with the next fortnight. On device - as long as it supports Pocket Explorer (though I have also used Minimo (Firefox)) it should be ok - so wireless iPAQ, etc would be fine. We use LXE as it is mainly a warehouse scenario where the devices get dropped a lot! or hit with forklifts as the ruggedness of the MX6 has been OK in such scenarios

      Daniel

      Comment by Jacques Le Roux [17/Apr/06 02:49 PM]
      [ Permlink ]
      Thanks Daniel for the info

      Jacques

      Comment by Jacopo Cappellato [20/Jun/06 03:49 AM]
      [ Permlink ]
      This is a reviewed version of Daniel's component; it contains some misc improvements I did to help Daniel to start his work in the right way; in fact I sent this file privately to him some time ago but now that it seems there is some interest from others (Ray Barlow) I think it's better to put it into this Jira issue.
      Here is the list of the comments I did (by the way Daniel's work was indeed very good):

      • indentation: always use 4-spaces instead of tabs
      • you can remove all the instances like this one:
        <#if (requestAttributes.facilityId)?exists>
        <#assign facilityId = requestAttributes.facilityId>
        </#if>
        from your ftl templates (they were only needed during the migration
        fromJPublish to Screen Widget)
      • the facilities.bsh is not necessary; see my code inside the action element of the "facilities" screen def
      • however, the "facilities" screen seems not used; can it be removed?
      • license: is it a problem for you to use the ASL2.0 license instead of MIT (see the file APACHE2_HEADER in the OFBiz's main folder)
      • productreceipt.ftl and qtyreceipt.ftl substituted by setFocusOnField.ftl
      • changed html tag <ul> to <ol>
      • added style definitions to a few form definitions
      • if possible, give more descriptive names to services because to make it easier to reuse them.
      • removed unused resources (entitydef.xml, entitygroup.xml etc...) and their references from the ofbiz-component.xml file
      • removed all the ftl templates that only contained the page name; the page name is now in the screen definitions
      • There are now three screen template definition:

      GlobalDecorator: this is the lower level, it defines the structure of a screen for an hh device
      CommonDecorator: at the moment it's the same of the GlobalDecorator, it represents the base layout of a page of the hh facility application
      FacilityDecorator: it is based on CommonDecorator and it is the base layout for all the hh facility screens that contain data about a specific facility (inside its action element the record for the facility is retrieved; in the widget element the name of the facility is shown)

      All the screens of your component can now extend the CommonDecorator or the FacilityDecorator

      For example, the hierarchy is:

      GlobalDecorator->CommonDecorator->login
      GlobalDecorator->CommonDecorator->main
      GlobalDecorator->CommonDecorator>FacilityDecorator->menu
      GlobalDecorator->CommonDecorator>FacilityDecorator->receipt
      ...

      Hope this helps!

      Jacopo

      1. hhFacility.zip
        32 kB
        Ray Barlow
      2. location_null.patch
        1 kB
        Ray Barlow
      3. hhfacility_v3.zip
        21 kB
        Ray Barlow
      4. hhfacility.zip
        26 kB
        Daniel Goodwin
      5. hhfacility_v2.zip
        25 kB
        Ray Barlow
      6. product_extra_inv_service.patch
        3 kB
        Ray Barlow
      7. hhfacility-reviewed.zip
        36 kB
        Jacopo Cappellato

        Activity

        Jacopo Cappellato created issue -
        Hide
        Jacopo Cappellato added a comment -

        This is the reviewed (by me) version of the file.

        Show
        Jacopo Cappellato added a comment - This is the reviewed (by me) version of the file.
        Jacopo Cappellato made changes -
        Field Original Value New Value
        Attachment hhfacility-reviewed.zip [ 12340548 ]
        Hide
        Ray Barlow added a comment -

        This is an update on the reviewed-patch from Jacopo:
        Adds another main menu item to access selected warehouse, so you don't have to go back through the main menu every time.
        Also includes new screens for stock take, allows you to look up products based on SKU or PLU and view their ATP/QOH and bin locations. The actual update routine is pending but hopefully I can work on it again very soon.

        Would be nice to agree if/how we can commit this module as I'm sure it has value. There was a suggestion to include it in the product folder which I'm happy to do next time if that is where it will end up.

        PS: Just noticed that this carries the old headers so will fix those for the next time around as well.

        PPS: I'm also adding another patch to the product module that hopefully can be reviewed and committed as is. Just adds an inventory service this module uses.

        Show
        Ray Barlow added a comment - This is an update on the reviewed-patch from Jacopo: Adds another main menu item to access selected warehouse, so you don't have to go back through the main menu every time. Also includes new screens for stock take, allows you to look up products based on SKU or PLU and view their ATP/QOH and bin locations. The actual update routine is pending but hopefully I can work on it again very soon. Would be nice to agree if/how we can commit this module as I'm sure it has value. There was a suggestion to include it in the product folder which I'm happy to do next time if that is where it will end up. PS: Just noticed that this carries the old headers so will fix those for the next time around as well. PPS: I'm also adding another patch to the product module that hopefully can be reviewed and committed as is. Just adds an inventory service this module uses.
        Ray Barlow made changes -
        Attachment hhfacility_v2.zip [ 12343275 ]
        Attachment product_extra_inv_service.patch [ 12343276 ]
        Hide
        Jacopo Cappellato added a comment -

        I agree with Ray that it would be nice to add this to the webapp folder of the product component.
        About the license headers (that need to be fixed before even thinking of including them into OFBiz), I think that we'll need to ask for Danile's approval...
        maybe the quickest way of doing this (even if a bit bureaucratic solution... but I'm Italian is to send the compressed source archive (with the new ASL headers) to Daniel Goodwin and then ask him to attach it as a patch to this issue...

        Show
        Jacopo Cappellato added a comment - I agree with Ray that it would be nice to add this to the webapp folder of the product component. About the license headers (that need to be fixed before even thinking of including them into OFBiz), I think that we'll need to ask for Danile's approval... maybe the quickest way of doing this (even if a bit bureaucratic solution... but I'm Italian is to send the compressed source archive (with the new ASL headers) to Daniel Goodwin and then ask him to attach it as a patch to this issue...
        Hide
        Daniel Goodwin added a comment -

        Attached update with new ASF headers
        Daniel

        Show
        Daniel Goodwin added a comment - Attached update with new ASF headers Daniel
        Daniel Goodwin made changes -
        Attachment hhfacility.zip [ 12343628 ]
        Hide
        Jacopo Cappellato added a comment -

        Ray, all,

        as you have probably noticed Daniel Goodwin has been so kind to attach to this issue the relicensed version of his work.
        So I think that all the license issues are resolved now and that we can continue his work.
        Ray, would you consider to recreate and submit a new patch against these new files?

        Daniel, many thanks!

        Show
        Jacopo Cappellato added a comment - Ray, all, as you have probably noticed Daniel Goodwin has been so kind to attach to this issue the relicensed version of his work. So I think that all the license issues are resolved now and that we can continue his work. Ray, would you consider to recreate and submit a new patch against these new files? Daniel, many thanks!
        Hide
        Ray Barlow added a comment -

        Using the latest zip from Daniel I've now merged in my updates and also moved it as agreed into product component still using it's own mounted module.

        Show
        Ray Barlow added a comment - Using the latest zip from Daniel I've now merged in my updates and also moved it as agreed into product component still using it's own mounted module.
        Ray Barlow made changes -
        Attachment hhfacility_v3.zip [ 12343682 ]
        Hide
        Jacopo Cappellato added a comment -

        Ray,

        thanks for the patch (you did really a lot of work!), however, could you please attach here the whole zipped application instead of a diff patch for the initial import? (in your patch there are duplicated files, such as applications/product/webapp/hhfacility/WEB-INF/controller.xml...)

        Also, I've noticed a few more things after a very quick review:

        1) many class names don't follow the Java naming convention for classes (e.g. "GoodClassName")
        2) there is no need to modify the following to files:

        applications/product/servicedef/services_facility.xml
        applications/product/script/org/ofbiz/product/inventory/InventoryServices.xml

        because there is already a service to get inventory by location (it is called "getInventoryAvailableByLocation").

        3) is it ok for all to call the new application "hhfacility"?
        4) do we really need all the *.css files in the patch? are all customized or just copies of the ones in the framework/images component?

        If you could fix these issues (at least #1, #2, #4) that would be great!

        Thanks again

        Show
        Jacopo Cappellato added a comment - Ray, thanks for the patch (you did really a lot of work!), however, could you please attach here the whole zipped application instead of a diff patch for the initial import? (in your patch there are duplicated files, such as applications/product/webapp/hhfacility/WEB-INF/controller.xml...) Also, I've noticed a few more things after a very quick review: 1) many class names don't follow the Java naming convention for classes (e.g. "GoodClassName") 2) there is no need to modify the following to files: applications/product/servicedef/services_facility.xml applications/product/script/org/ofbiz/product/inventory/InventoryServices.xml because there is already a service to get inventory by location (it is called "getInventoryAvailableByLocation"). 3) is it ok for all to call the new application "hhfacility"? 4) do we really need all the *.css files in the patch? are all customized or just copies of the ones in the framework/images component? If you could fix these issues (at least #1, #2, #4) that would be great! Thanks again
        Hide
        Jacopo Cappellato added a comment -

        Hi Ray,

        even if you do not have time to perform the cleanups I've requested in my previous comment, it would help a lot if you could attach to this issue the whole zipped application; in this way I'll have a chance to perform some of the cleanups and commit it.
        I'll greatly appreciate it!

        Thanks

        Show
        Jacopo Cappellato added a comment - Hi Ray, even if you do not have time to perform the cleanups I've requested in my previous comment, it would help a lot if you could attach to this issue the whole zipped application; in this way I'll have a chance to perform some of the cleanups and commit it. I'll greatly appreciate it! Thanks
        Hide
        Ray Barlow added a comment -

        Jacopo,

        I was just thinking last week it's a shame nobody had commented on it, but you had and I missed your reply! Sorry I'll try and get to it before the weekend.

        Re #3 nice to know a name change if any sooner rather than later. Maybe "handheld" or something more generic as I hope to see it develop with quite a few functions over time like minor product editing.

        Show
        Ray Barlow added a comment - Jacopo, I was just thinking last week it's a shame nobody had commented on it, but you had and I missed your reply! Sorry I'll try and get to it before the weekend. Re #3 nice to know a name change if any sooner rather than later. Maybe "handheld" or something more generic as I hope to see it develop with quite a few functions over time like minor product editing.
        Hide
        Jacques Le Roux added a comment -

        I may have some time in next weeks to review this "application" at least or even help on some aspects if needed and advised...

        Show
        Jacques Le Roux added a comment - I may have some time in next weeks to review this "application" at least or even help on some aspects if needed and advised...
        Hide
        Ray Barlow added a comment -

        1) Hopefully all done
        2) A new small patch attached that ensures counts of null location seq ids work. The screen groups inventory items by location sequence id but in the case items with no location the ATP/QOH would incorrectly return 0/0 rather than say 3/4.
        3) Left it as is for now
        4) I've deleted them and it looks OK to me but this was part of the original submission so only Daniel can really answer if there was a need for them.

        I'm away for a few days so wont pick up any queries and appologies now if I've missed something, tends to happen when rushed!

        Show
        Ray Barlow added a comment - 1) Hopefully all done 2) A new small patch attached that ensures counts of null location seq ids work. The screen groups inventory items by location sequence id but in the case items with no location the ATP/QOH would incorrectly return 0/0 rather than say 3/4. 3) Left it as is for now 4) I've deleted them and it looks OK to me but this was part of the original submission so only Daniel can really answer if there was a need for them. I'm away for a few days so wont pick up any queries and appologies now if I've missed something, tends to happen when rushed!
        Ray Barlow made changes -
        Attachment hhFacility.zip [ 12345232 ]
        Attachment location_null.patch [ 12345233 ]
        Jacopo Cappellato made changes -
        Assignee Jacopo Cappellato [ jacopoc ]
        Hide
        Jacopo Cappellato added a comment -

        Daniel, Ray,

        many thanks for your work: I've committed it with rev. 482800, 482801

        Ray, now that this component is in svn (in the specialpurpose folder) I think it will be easier for you to provide patches and continue the work, if you are still interested in doing it.

        PS: Ray is there a way I can contact you privately? Your mail server seems to reject the mails sent to the address you use in the mailing list.

        Show
        Jacopo Cappellato added a comment - Daniel, Ray, many thanks for your work: I've committed it with rev. 482800, 482801 Ray, now that this component is in svn (in the specialpurpose folder) I think it will be easier for you to provide patches and continue the work, if you are still interested in doing it. PS: Ray is there a way I can contact you privately? Your mail server seems to reject the mails sent to the address you use in the mailing list.
        Jacopo Cappellato made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Resolution Fixed [ 1 ]
        Hide
        Jacques Le Roux added a comment -

        I would vote for "handheld" name

        Show
        Jacques Le Roux added a comment - I would vote for "handheld" name
        Hide
        Ray Barlow added a comment -

        Jacopo,

        Thanks for checking it in that makes it a lot easier for me to manage and submit patches which I will keep doing and sending as and when I can.

        Could you also commit the "location_null.patch" mentioned in my last comment item 2) "A new small patch attached that ensures counts of null location seq ids work. The screen groups inventory items by location sequence id but in the case items with no location the ATP/QOH would incorrectly return 0/0 rather than say 3/4."

        This shows the current problem:
        https://demo.dejc.com:8443/hhfacility/control/productstocktake?facilityId=WebStoreWarehouse&productId=GZ-2644
        see the product shows that there should be 11/11 listed under the null location:
        https://demo.dejc.com:8443/catalog/control/EditProductInventoryItems?productId=GZ-2644&showAllFacilities=Y

        Sorry about email but the provider has been having load problems, to much spam in the world although I think they should of been better prepared as it always increase the last qtr of the year! The effect is lots of email is getting delayed and in some cases bounced. Give it another go and you if still failing then I'll try and get you another address to use.

        Ray

        Show
        Ray Barlow added a comment - Jacopo, Thanks for checking it in that makes it a lot easier for me to manage and submit patches which I will keep doing and sending as and when I can. Could you also commit the "location_null.patch" mentioned in my last comment item 2) "A new small patch attached that ensures counts of null location seq ids work. The screen groups inventory items by location sequence id but in the case items with no location the ATP/QOH would incorrectly return 0/0 rather than say 3/4." This shows the current problem: https://demo.dejc.com:8443/hhfacility/control/productstocktake?facilityId=WebStoreWarehouse&productId=GZ-2644 see the product shows that there should be 11/11 listed under the null location: https://demo.dejc.com:8443/catalog/control/EditProductInventoryItems?productId=GZ-2644&showAllFacilities=Y Sorry about email but the provider has been having load problems, to much spam in the world although I think they should of been better prepared as it always increase the last qtr of the year! The effect is lots of email is getting delayed and in some cases bounced. Give it another go and you if still failing then I'll try and get you another address to use. Ray
        Hide
        Jacopo Cappellato added a comment -

        Ray,

        I've applied your last patch and I've added a comment to the code to remember that this is something that should be improved a bit; by the way for now I think that it's fine.
        Thanks

        Show
        Jacopo Cappellato added a comment - Ray, I've applied your last patch and I've added a comment to the code to remember that this is something that should be improved a bit; by the way for now I think that it's fine. Thanks
        Gavin made changes -
        Workflow jira [ 12383378 ] OFbiz Workflow [ 12504397 ]

          People

          • Assignee:
            Jacopo Cappellato
            Reporter:
            Jacopo Cappellato
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development