Tool B4Xgoodies: a maintained library/class/code module/... inventory (last updated 2024-03-16)

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/oib4glqqd4qcx8x/B4Xgoodies.xlsm?dl=1 (Note: this link was changed on 2022-07-24 after a Dropbox issue that lost the original one - thanks to @AnandGupta for raising the issue)
- and/or the online version that @AnandGupta created: https://www.b4x.com/android/forum/threads/b4xgoodies_from_walt61-online.110060/

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.

EDIT 2022-07-24: these are direct download links to the published files:
- b4xgoodies.html: https://www.dropbox.com/s/4punyxbwek8oc8o/b4xgoodies.html?dl=0
- B4Xgoodies.xlsm: https://www.dropbox.com/s/oib4glqqd4qcx8x/B4Xgoodies.xlsm?dl=0
- version.txt: https://www.dropbox.com/s/3l09nngx9msi3ut/version.txt?dl=0

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: see thread title
New as of 2019-08-05: columns 'Att 1' to 'Att 5' with the URLs of the first 5 attachments from the first post of each thread
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/... !
Also available online as a Google Sheet (thank you @AnandGupta ); see
 
Last edited:

fredo

Well-Known Member
Licensed User
Longtime User
...
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.
...
Last updated: 2016-05-18

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

Active Member
Licensed User
Longtime 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

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

Well-Known Member
Licensed User
Longtime 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

Active Member
Licensed User
Longtime 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.

View attachment 44518

What I really love is the URL so I can easy catch up with the thread.
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 :)
 

inakigarm

Well-Known Member
Licensed User
Longtime 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

Active Member
Licensed User
Longtime 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
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?
 

inakigarm

Well-Known Member
Licensed User
Longtime 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.
 

inakigarm

Well-Known Member
Licensed User
Longtime 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)

B4X:
Dim Pathname ="C:\Temp\" As String

- The B4J aplication reads the xlsm (jPoi lib) and creates a SQlite DB at Pathname

B4X:
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 !!
 

Attachments

  • B4XGoodies.zip
    10.8 KB · Views: 619

walt61

Active Member
Licensed User
Longtime 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)

B4X:
Dim Pathname ="C:\Temp\" As String

- The B4J aplication reads the xlsm (jPoi lib) and creates a SQlite DB at Pathname

B4X:
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 !!
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)
 

inakigarm

Well-Known Member
Licensed User
Longtime 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
 

Attachments

  • B4XGoodiesv3.zip
    98.3 KB · Views: 493
Last edited:

walt61

Active Member
Licensed User
Longtime 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)
 

Attachments

  • Capture.PNG
    Capture.PNG
    7.7 KB · Views: 433
Top