Since @lubos is implementing new Custom Fields I am back with an idea I submitted sometimes ago.
How about having the possibility to populate the list of drop down (and now multiple choice fields) dinamically from an external file that can be a CSV or an html table from an URL?
Could you please explain a bit more about how you anticipate this working.
Is the imported data relatively static after import, so the functional result equivalent to a batch create / update? Or is the data source dynamic changing every few minutes or hours?
What task are you intending to solve with this functionality ie what is you use case?
Every time you open the drop-down menu Manager should download the list not from the inside database but from the external one.
As actually Manager works right now (not sure 100% for the new implementation but it was for sure on the legacy custom fields) the current value is than stored a static text string.
What I’m trying to solve. One specific case for my businesses.
We manage real estate investment funds. We have a lot of inventory kits that have many and many custom fields. Inventory kits basically are the units (apartments, shops, garages and so on) inside a real estate development which is an inventory item.
These custom fields are used for specific reporting required by law (i am talking of reporting to investment funds authority) and they are constantly updated and, also, they are spread across all our businesses.
With my solution we would have a much easier life.
Mine… I got this idea (and also the one of the shared custom fields that @lubos has recently implemented) from our document management software.
I believe you will see reluctance about such a feature, because it would not work on the desktop edition and could be blocked on some server installations. Other than multiple users, the developer has maintained identical functionality in all editions.
Many Manager users suffer poor bandwidth and unreliable internet connection. To depend on downloads for every time one needs to use a function such as a dropdown list when using desktop versions would be detrimental.
I think it’s a good idea on the basis that if you have multiple businesses, you can maintain list of drop-down options in central place.
My issue is that if external source is truly external, then it gets a bit too technical. My goal is to implement features in such a way that every feature can be explained in plain English without need for custom programming. This is why I’m making custom themes obsolete and going to take different approach.
I recognize this would be useful, I’m just not sure which direction to take on how to implement this without compromising any principles behind Manager.
have the option to save the list externally as a file (allowing creating a new or link to existing file). The file location should probably default to a custom field folder in the application data folder. Perhaps using a save externally check box
editing in Manager using the current interface would then update the linked file used by all businesses linked to it.
file format dictated by what is efficient for Manager to use. A structure version number may be useful depending on how often program updates have changed it in practice. The files could be opened for read access when a business is opened providing synchronisation then. If synchronisation is really required every time a custom field is accessed then a file open, read & file close maybe be required for every access however that could result is a significant performance penalty. Error handling to cover another business / program writing / locking the file, file not accessible, file format not recognised would probably be required also. Probably resulting in the field not being edible in Manager
for users who want to use it for communication with other applications they can employ a programer to look at the file format and get another program to generate it using the Manager created file as a template
Beyond @eko’s answer, the desktop edition has also been promoted as being entirely free of any need for an internet connection once it is installed. That is not to say the developer could not change his mind about that, but there are many users who currently depend on that fact.
Sorry to disagree. We all know that in this Guide it says the only way to use images is by using an online image sharing and image hosting service:
Rather than incorporate the image itself into Manager’s business data file, the image must be stored at a web-accessible location. HTML code is entered into the custom field referencing the URL of the stored image.
Yes, but it can be when available. Some of my colleges live in the bush on farms in Nigeria, Ghana, Cameroon, Nicaragua, Vietnam, etc. and only once per week bring their laptops to areas where there is internet and do all the necessary mailing and updating.
@Patch@Ealfardan we are only talking of drop down list in custom fields, ie static data once saved, not about Manager settings. This is something more and more complicated and has nothing to do with what I am asking.
In your initial post, you specifically asked for the ability to populate the list dynamically from an external file. Perhaps you meant a single time, but my interpretation was that you wanted to be able to actively maintain and change the external file, with the changes showing up in Manager’s dropdown list. That would, obviously, require a live connection to support functionality a user believed was available. That was the source of my concern.
Personally, I believe the choice to use images in custom fields or send emails in real time are optional for the user. The capabilities can be ignored or worked around if the user knows they will not be continuously connected, as @eko described. I find that different than having access to a different database for dropdown selections if you are not connected.
The source is dinamic, ie it is queried each time you open the drop down menu. Once the data is saved it is saved as a static field, a text field (not the UUID). Like it is now in legacy custom fields in manager.
The only difference is that you don’t use an internal list but an external one.