marshl / lobster Goto Github PK
View Code? Open in Web Editor NEWAn automatic file synchronisation tool for Oracle databases (C#/WPF)
An automatic file synchronisation tool for Oracle databases (C#/WPF)
There really is no way to deal with duplicate files properly without some major overhaulage, so this may just involve improving the warning message that is displayed.
The BPD name does not use the name as the mnemonic, but instead extracts a value from the Xml.. This should be available to any column when using the new ClobType schema.
It would be good if the messages that are dumped into lobster.log would also be accessible in the Lobster interface. This would also be a good opportunity to improve the quantity and quality of messages.
The thread exception handler doesn't output the stack trace of the exception;
No more information at this time.
There are two mime ini files "mime_to_prefix.ini" and "mime_to_extension.ini"
These could both be reconciled into the one XML file.
It would be good if Xml documents clobbed by the user were validated through the Fox schema before being sent to the server. The warnings/errors should not prevent the file from being clobbed, but a message should be displayed to the user. The schema should be set up on per-ClobType basis.
We have many situations where you may have a lobster config made for one folder but do not want child folders to be "lobbed" in the same definition. A current example of this is when you have a folder
ReportDefinitions and all xml files in here should be lobbed to the report_definitions table
But the sub folder Jasper needs its own definition to lob to the jasper_definitions table.
Suggested enhancement to have a config item allowing you to disable sub folder propagation so that you can set up another config lobster for that folder
Database file/local file matching is case sensitive, so a file named EXAMPLE.XML won't be found due to Lobster trying to match it with a database file called EXAMPLE.xml
The CodeSource folder selector should include the name of the connection that this selection is for. At the moment the user is not told which one it is for.
The user should be able to create a new DocLib, module, BPD etc. through Lobster by using existing templates with various fields that can be automatically replaced with user data.
The user should be able to delete files from the database Lobster (although they should be warned before proceeding)
At the moment the user has to configure their connection file, or move copies around every time they want to switch database. It would be better if there was a list of connections to choose from.
TortoiseMerge is the default diffing program for Lobster. An option for changing it would be good.
If a file is saved multiple times in a single second, then the backup will be written the same file multiple times. Backups should not be written to file if the file already exists.
Create a README.md file in the root of the repo explain how to configure and what the various config files and XML elements do.
At the moment only a single file can be operated on at any one time. Multiple item selection should be returned, with option buttons available that would be accessible to all files selected.
The root folder name is defaulted to CodeSource, even when it the folder is called something different. It should really echo the name of the folder on the operating system.
If the right click context menu is opened on a working file and the user selects "Show in Explorer", and unhandled exception occurs.
On a related note, the exception stack trace is not written out to the log file when an unhandled exception occurs.
On low end systems, saving a file in Oxygen can fail due to Lobster locking the file during a read. This should be rectified by either using a lock safe stream reader, or by yielding if the file is locked and waiting for it to unlock.
A window should be created where the user can create and edit ClobTypes instead of having to edit them externally.
When an error occurs, the message box is often displayed behind the main Form (may just be while debugging). It would be better if the message was displayed in front of the window and prevented focus from entering the main form.
Add a button that will toggle whether files are automatically clobbed when they are changed.
The compile date comparison with the latest GitHub release can be a slow process on DoHA machines, and should probably be moved to a separate thread to remove the impact on startup speed.
A window should be created where the user can create a new connection file and edit existing connections through Lobster itself instead of editing external files.
There are a number of issues around mass file updates (SVN update, change properties etc.) that often cause a hard crash, probably to do with the multiple FileSystemWatchers all attempting to rebuild the tree at once. Either a locking mechanism should be enabled, or only one FilesysteWatcher should be created for the entire CodeSource directory, or only once should be created for each ClobType, with a less drastic update of the internal tree instead of a full clean and rebuild.
The connection that Lobster is currently using should be prominently displayed in some way.
The current Xml schema for ClobTypes is quickly becoming unmanageable. It would be better to define a column list with each column defining any required data fields.
ClobType files should be checked for common issues (such as missing fields) before being accepted into the system.
Due to the Doclib table having a sequence based ID, a new DocLib type row cannot be inserted using Lobster. This will be likely be resolved during the ClobType overhaul
It would be very cool if Lobster could integrate with Windows Explorer to add all of the normal commands to the context menu. This would probably be impossible in a managed environment, but could be doable in an environment where installation is allowed.
Sometimes it takes a long time to clob a file, to ensure that the user knows that a file is actually being clobbed, the file display should change to highlight that the file is currently being clobbed.
A connection file that does have a provided or valid CodeSource folder causes a prompt to be issued to the user to select their CodeSource folder. The selected folder is then written back out to the file, but any explanatory comments are removed
The validity of an Xml file to clob should be checked, either by reading it before the file is sent, or catching the exception thrown by Oracle. Either way, an error should be displayed specifying that the Clob failure was due to bad Xml;
For some Fox folders, it ma be incredibly difficult to adapt a ClobType to work on that folder. Instead it may be a good idea to let the ClobType definition file include INSERT, UPDATE and SELECT statements for the folder type, and use those instead.
SVN commands could be added on the context menu, or perhaps in one of the title menus.
The Working file view doesn't show any context for the files, and should probably have the name of the ClobType as another column.
PharmCIS has a number of OBSOLETE folders that contains older versions of files in the main folder. Lobster throws up a lot of warnings about this, and it might be best if these files could be ignored somehow, perhaps with a list of user defined folders to ignore.
One version of the DocLib type IWR_DOCS caused an ORA-600 on aut-file update. This has not been reproducible in any other case. Removing the automatic comment appended to the file allowed the file to get through. Increasing the file size also let the file get through.
It may be a coincidence, but the file was > 4096 bytes with Windows style line endings, < 4096 without.
Further testing required.
Whenever a non-binary file is added, a HTML comment is placed at the end of the file,which could have unexpected consequences for JavaScript and CSS files. This should be rectified.
Files in the Working List should have a context menu button that would navigate to the Tree View tab and open the corresponding tree node.
The ClobTypes folder should be location externally to the program, ideally in svn folder for that project so any updates to the types will be quickly accessible by everyone.
A number of folders have an .xsd file that should be put onto the database. It would be good if these files could be ignored by Lobsters entirely, preferably by extension.
If the user opens a connection, then opens another, then the original tree view is not removed. Functionality of the original tree view is undefined.
The user may not always want to have log comments automatically appended to their file. There should be an option to turn it off
Related to the Connection List enhancement, if multiple connection files are used, then program specific settings should be stored in a separate configuration file.
It would be preferable if the program could automatically update using the ClickOnce update system. This might be doable using the utils server.
The PharmCIS Pricing Vars table has only a single value, with no mnemonic columm, and is therefore unusable by Lobster. New configuration parameters will need to be added to get this table to work.
More information is required to help debug Lobster. Information logging should include:
Currently Lobster tries to indicate if a file is in sync with the database. Im getting a case where lots of file say they are local only because they do not exist in my target fox_components_fox5 table. They do however exist in fox_components_env.
The fox engine is configured to read from both of these tables with fox_components_fox5.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.