Tool B4Xgoodies: a maintained library/class/code module/... inventory (last updated 2017-11-20)

Discussion in 'Additional libraries, classes and official updates' started by walt61, Jul 14, 2015.

  1. walt61

    walt61 Member Licensed User

    The workbook (even when zipped) has grown over 512kb and can't be uploaded to the forum any longer; use the dropbox download link (the same one that's used by @inakigarm's B4J program - see post #25) instead: https://www.dropbox.com/s/383sszktk4nj3k9/B4Xgoodies.xlsm?dl=1

    Hi all,

    I, like many others in the forum, wanted to know what the most recent versions are of the non-core libraries I'm using in my apps, without having to resort to manually checking these libraries' forum posts to check their versions. Eventually I took things a step further and thought I'd create an inventory of all the excellent stuff that's being provided by the community, in a sustainable and easily maintainable way (i.e. with minimal manual effort). Enter B4Agoodies, an Excel workbook.

    The 'Info' worksheet provides a high-level explanation on what it does.

    The inventory contains the following columns:
    - B4what: the tool to which the entry relates
    - Type: the type of object (presently: libraries, snippets, code modules, classes, icons, and the ominous 'other')
    - Category: a categorisation for the object (feel free to suggest more appropriate values where needed)
    - Name: the name of the object (e.g. library name)
    - Author / owner: the forum nick of the creator or the current owner, if ownership has been transferred
    - Latest version: a version number or date (if no number was available in the first post of the thread where the object is found; the date is then the latest update date for that first post)
    - License: the license that applies to the object
    - Description: guess :)
    - Forum thread's (or other) URL: the webpage where the object is described and from which the most recent version data will be fetched from the first post

    I intend to update this every week. I keep an eye on forum posts announcing new libraries and library updates, which will then be added. If you'd notice errors or objects that could/should be added, give me a shout.

    Last but perhaps not least: use worksheet 'My Projects' to list your own projects' .b4a files and, if desired/applicable, your Additional Libraries folder. Click the 'Check them' button and in worksheet 'My projects' libraries' you'll find an overview of the libraries used by your projects, these libraries' latest version according to the 'B4Agoodies' worksheet, and your version (if you specified a value for your Additional Libraries folder). In Excel, macros must be enabled for the workbook to make this work; you can examine the code in the VBA IDE (Alt-F11 takes you there).

    Cheers,

    walt61

    Last updated: 2017-11-20
    New as of 2017-10-24: column 'Tags from thread title'
    See post #25 for @inakigarm's B4J program if you prefer not to use Excel/LibreOffice/... !
     
    Last edited: Nov 20, 2017 at 5:23 PM
    Mashiane, Ferbis, peacemaker and 7 others like this.
  2. Erel

    Erel Administrator Staff Member Licensed User

    Am I correct that this tool will make about 400 requests to the server each time a user clicks on the "fetch pages" button?
    You should first ask a permission before uploading such a tool.
     
    GabrielM likes this.
  3. walt61

    walt61 Member Licensed User

    Hi Erel,

    It does indeed, and you're right, apologies for that. I can of course (provided that that approach is ok for you) just post and update the results the 'my projects' functionality and remove the scraping functionality here?

    Cheers,

    walt61
     
  4. Erel

    Erel Administrator Staff Member Licensed User

    Yes, please remove this feature. It can easily lead to an unintentional ddos attack.
     
    GabrielM and walt61 like this.
  5. walt61

    walt61 Member Licensed User

    Makes sense; done !
     
    Erel likes this.
  6. fredo

    fredo Active Member Licensed User

    Seems to be a helpful additional source of up to date information.

    Those who are reading the forums on a daily basis have a clear picture of the relevant classes and libraries. But if you only take a look every once in a while then you loose track and miss a lot (even if the library update subscription is active).

    Would it be possible to add a column "LastEditDate" (for the lib or class) to the next lists? "Latest Version" is the relevant information for the item, but sometimes it would help me to find entries based on their age.

    Thanks for your work,
    fredo
     
    walt61 likes this.
  7. walt61

    walt61 Member Licensed User

    Happy to hear it's useful for others too, Fredo; the next update (probably for Tues/Wed as usual) will contain that new column, at least already partially populated. I'll fill the missing ones (at the moment 267 of 707 to go) in the near future :)
     
    fredo likes this.
  8. fredo

    fredo Active Member Licensed User

    Thanks for the date-column and your efforts to keep this list up to date.

    After sorting descending I found a few tutorials and classes I must have missed and wasn't aware of.

    30-05-_2016_15-14-19.jpg

    What I really love is the URL so I can easy catch up with the thread.
     
    walt61, Johan Schoeman and DonManfred like this.
  9. inakigarm

    inakigarm Well-Known Member Licensed User

    @walt61 , great tool !! Is it possible to have one additional sheet for B4J ??
     
    walt61 and fredo like this.
  10. walt61

    walt61 Member Licensed User

    You're welcome @fredo ! I can see why the date column is useful (and was able to correct some errors while filling it, which was a perk :)
     
    fredo likes this.
  11. walt61

    walt61 Member Licensed User

    I'll put it on my todo list and will look into it, @inakigarm; I can't promise an ETA yet but won't lose sight of it :)
     
  12. walt61

    walt61 Member Licensed User

    Update: I've prepended a column 'B4what' to prepare for the other B4s to be added, and have included the B4R libraries and tutorials as those were still comparatively small. To be continued!
     
  13. inakigarm

    inakigarm Well-Known Member Licensed User

    @walt61, I'm coding a B4J solution to import your Excel file to a Sqlite DB (in order to filter by Type, Tag(product- B4A, B4i,B4R), Date, License) and update everytime the Excel updates

    As I've as template the 'old' Excel file, I've to look at new excel format to adapt my code; when I finished, I'll post here the application
     
    walt61 likes this.
  14. walt61

    walt61 Member Licensed User

    Cool! By the way, I take it you realise that you can just export the worksheet to csv and then import that csv with e.g. SQLiteDatabaseBrowserPortable?
     
  15. inakigarm

    inakigarm Well-Known Member Licensed User

    No, I'm importing from Excel directly to B4J code with jPoi Library (locate the B4Agoodies sheet and get the rows (cells) with the info) and build the Sqlite Database from B4J code.
     
    walt61 likes this.
  16. walt61

    walt61 Member Licensed User

    Duh I should look deeper into B4J when time permits ;)
     
    DonManfred likes this.
  17. inakigarm

    inakigarm Well-Known Member Licensed User

    Well, first version of B4XGoodies (thanks @walt61 for your help):

    -You've to download the zip at first Post and decompress the xlsm file to C:\Temp (hardcoded at B4j code at C:\Temp)

    Code:
    Dim Pathname ="C:\Temp\" As String
    - The B4J aplication reads the xlsm (jPoi lib) and creates a SQlite DB at Pathname

    Code:
    Dim DBFile= "B4Xgoodies.db" As String
    Search for results with filters for product (B4A,B4R,B4X for now), Type (Library, Class, etc..), Category of code (button,etc..) , Description, Type of License and Date (doesn't work yet)

    More to come !!
     

    Attached Files:

    Johan Schoeman and walt61 like this.
  18. walt61

    walt61 Member Licensed User

    Very nice start, thanks @inakigarm ! Perhaps an addition to your todo's: the option to have the rows wrap text for the Description column (in other words, varying row height if a description is wide than its column), or having a msgbox pop up with the contents if a description is clicked. (Hey you're keeping me busy, I'm returning the favour :d)
     
  19. inakigarm

    inakigarm Well-Known Member Licensed User

    Edit: web version (ABMATERIAL) on https://www.b4x.com/android/forum/t...bout-libs-tutorials-etc-on-b4x-products.83909/


    Check this new version... Description Column is wider; in other versions the columns can be hide at will
    The hard work in this version was the downloading the DB and info for shared folder

    P.D: I had no time to test in two or more days if the DB in Shared Folder is newer than in local folder but I think will work
     

    Attached Files:

    Last edited: Oct 23, 2017
    fredo, walt61 and Johan Schoeman like this.
  20. walt61

    walt61 Member Licensed User

    Brilliant ! Suggestion: filter by author as well, which would e.g. enable the fan clubs of @Johan Schoeman or @DonManfred (the resident megawrappers) to quickly find one author's stuff. I also noticed one strange thing, possibly a panel that's in front of the 'Search' button? (See attached snip)

    P.S.: next week's data will include the B4I and B4J tutorials; next will be their libraries and classes (a bit more time-consuming as there are loads of them)
     

    Attached Files:

    inakigarm likes this.
Loading...