Share My Creation [B4X] Project Overview, Search and Git Status

stevel05

Expert
Licensed User
I am always searching my projects for something I know I had done, but can't remember where or when. So I wrote this app that parses a folder full (or more) of projects (including sub folders) and stores the results in an sqlite database which can then be searched. There are many options to search so you should be able to find what you are looking for.


Be aware that the sqlite wild card searches are not characters you would normally expect, there is a reminder under the menubar.

upload_2018-11-26_15-54-3.png


Select a folder from the file menu to scan. On my system it takes about 30 seconds to scan 600 projects, so it's not too slow for the results you get.

B4i/B4r: I have not looked into the format of the B4i/B4r projects but I do have some B4i projects courtesy of BitMapCreator, and one test B4r project which parse OK, although there are no specific searches for B4i or B4r the searches that are available work as expected.

Files:

The B4j source code is attached. A compiled jar is available from my Google drive here as it's too large to upload.

Dependencies:

If you use it, let me know how you get on with it.

Update:
v0.2

  • Update now parses relative shared code modules
  • Added colours to project names for easier identification
You will need to re-scan your projects as there is a change to the underlying database.

Additional dependencies for V0.2
  • KeyValueStore2

v0.4
  • Update Indexed view with project name colors
  • Amended Tab sequence of Data Entry Fields
  • Added Module Description to Indexed Search
  • Added Field and searches for Forms
  • Fixed Indexed tab size issue
  • Consolidate some query code
  • Added GitStatus
Some minor tweaks plus the addition of a GitStatus view. This assumes that the repository is stored in the project folder in a subdirectory of .git. The GitStatus view shows the selected projects git status i.e. unstaged, uncommitted and differences for the current branch of the project. You can also add a git application that will be opened via jShell with the working path set to the selected projects folder by clicking on the git button in the Git Status window. It works with gitbash and gitgui, I haven't tested any others.

Additional dependencies for V0.4 using git:

If you don't already have the slf4j (logging api) files you can get them from here: https://www.slf4j.org/download.html

Additional dependencies for V0.4 not using git:
  • None

Update to v0.5:
  • A little speed up for parsing projects
  • Greatly increased speed of displaying projects
  • Sort on Project names now works as expected.
Update to v0.6
  • v0.6 Bug fix for crash when filtering on Modules or Module Descriptions

To compile for Git, download the required jar files and copy them to your additional libraries folder, select Git from the Build Configuration menu and compile.

To compile without git, ensure that Default is selected in the Build Configurations menu. You can also remove jShell from the Libraries tab.

Enjoy
14+29+67
 

Attachments

Last edited:

LucaMs

Expert
Licensed User
I am always searching my projects for something I know I had done, but can't remember where or when.
Me and my 2Kb of brain memory too :D



I have some doubts about its usefulness but this is due to not having tried it (I will do it soon, I think - hope).

1) is it much more useful than a normal search in Windows Explorer?
2) if it were, it would be useful that it could update the db by checking and "processing" just updated files (maybe it already does, in fact I have yet to try).

Anyway, thank you so much Steve for sharing a whole useful project with its source code !!!
 

stevel05

Expert
Licensed User
1) is it much more useful than a normal search in Windows Explorer
It is faster and a more targeted search. In fact the File Search tab does just that, again in a more targeted way.
2) if it were, it would be useful that it could update the db by checking and "processing" just updated files (maybe it already does, in fact I have yet to try).
There is some checking but could probably be improved, I'll look into it.
 

stevel05

Expert
Licensed User
The app was struggling when displaying nearly 1000 projects, so it now has partial on-demand loading which as well as actually working, is faster by a long way.

And the sort on project names works.

Update to v0.5


  • A little speed up for parsing projects
  • Greatly increased speed of displaying projects
  • Sort on Project names now works as expected.
Download in post #1
 
Last edited:
Top