-
Notifications
You must be signed in to change notification settings - Fork 208
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
#23 UI 4 config proc #1341
base: master
Are you sure you want to change the base?
#23 UI 4 config proc #1341
Conversation
-Add a responsive image size to home panel -Some codes adjustments -Change config icon image -Added open case icon image
-Start new case implementation -Some code fix
-Begin Process start page implementation
Thank you very much @thiagofuer for helping with this! I plan to review this next week. |
Tasks dependecy/order are not declared in any interface or method. Is this important to order the tasks configuration panel? |
maybe sort in alphabetical order by default |
This can be found in iped.engine.config.TaskInstallerConfig class. The user shouldn't be able to change task sorting, since the execution order/task dependency is VERY sensitive. |
but the task sort could be done only on the config view without reflect on the execution order. It could be only to be easy to user found. |
"order/task dependency is VERY sensitive" |
Mainly the dependency structure needed is not for task list visual ordering. I think the best is to to exhibit on the correct execution order. It is to automatically include dependent tasks (in the correct order) when a task is checked to be included in the processing. |
I prefer to always display the processing pipeline execution order.
Good point, this is important. Notice this situation can already occur without the configuration UI, only changing config files today. Some modules check their dependencies and, if not met, they abort or disable itself printing a warning message in the Console. This approach could be improved for the UI. |
@thiagofuer, a specific task can have more than one configurable. For example, ParsingTask has ParsingTaskConfig, CategoryToExpand, Parsers and ExternalParsers configurables. Maybe a Tree instead of table can be more suitable. Something like this (pardon for the bad UI of the tree, you can improve later): |
Or the table could be kept, and each configurable of the task could be presented as a TAB in the corresponding Task config UI dialog. |
This is exactly how I thought about it. I think this is more user friendly. |
To use a tree certainly is the easy way to show tasks config, but i think that could not be the best solution for unexperienced user.
this is the more user friendly UI option. Most of effort spent in this job is to create a interface that can do IPED "easy" to operate.
|
Maybe as Tabbed panels
Em ter., 1 de nov. de 2022 15:52, Thiago S. Figueiredo <
***@***.***> escreveu:
… @thiagofuer <https://github.com/thiagofuer>, a specific task can have
more than one configurable. For example, ParsingTask has ParsingTaskConfig,
CategoryToExpand, Parsers and ExternalParsers configurables.
Maybe a Tree instead of table can be more suitable. Something like this
(pardon for the bad UI of the tree, you can improve later):
[image: image]
<https://user-images.githubusercontent.com/28692427/199321295-d807768f-a723-4611-b0ec-ee3475f249ea.png>
To use a tree certainly is the easy way to show tasks config, but i think
that could not be the best solution for unexperienced user.
Or the table could be kept, and each configurable of the task could be
presented as a TAB in the corresponding Task config UI dialog.
this is the more user friendly UI option. Most of effort spent in this job
is to create a interface that can do IPED "easy" to operate.
[image: image]
<https://user-images.githubusercontent.com/1029909/199325157-d5d3eb15-7ff1-4b74-86cd-f52f3852da19.png>
On my opinion, we should think on how to add all additional tasks
configurables on this dialog. Tabs is a good one!!
—
Reply to this email directly, view it on GitHub
<#1341 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AG247S4EBXYU6UEVRF6ZTHTWGFYIJANCNFSM6AAAAAAQX73M7A>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Sorry, I'm a bit busy now...
This already exists, but the method is not static. Wouldn't it be enough? |
yes. I found. it is enough.
Em sex., 4 de nov. de 2022 09:36, Luis Filipe Nassif <
***@***.***> escreveu:
… Sorry, I'm a bit busy now...
@lfcnassif <https://github.com/lfcnassif> , I could not find a way to
identify which Configurable objects are used by each AbstractTask. I think
in put it as a static method of class AbstractTask with the signature Set>>
getConfigurables(). So we can identify which configurable classes is used
to instantiate the Task, and look for this kind of objects in the
ConfigurationManager object.
This already exists, but the method is not static. Wouldn't it be enough?
—
Reply to this email directly, view it on GitHub
<#1341 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AG247S3DZTNL5TIQGFHAJ2DWGUGMFANCNFSM6AAAAAAQX73M7A>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
This method (getConfigurables) is implemented in the AbstractTask descendants classes to return empty configurable objects. Not the loaded one from the files. Maybe they are implemented in a little different way from what the Config UI may need. Config UI must know which kind of configurable a Task (or other kind of objects) needs, so it can create the appropriate UI. |
Yes, this should be better. Currently they return a new instance that then is populated by ConfigurationManager. Reusing already existing ones should be better. |
Although the great majority of current AbstractTask implementations is instanced once, ScriptTask and PythonTask is instanced more than once, one for each script file. Maybe, other future AbstractTasks will permit to be instanced more than once. @lfcnassif , what do you think? Do we keep the checkbox style task installation on UI, making some kind of exceptions only to script tasks that needs to be installed more than once, or should find another kind of UI? |
Hi @patrickdalla, this week I'm attending 7th DFEG Interpol Conference, so I may be slow to respond.
I think we should keep the checkbox list layout and write custom code to handle ScriptTasks and PythonTasks. Actually each Worker thread creates his own Tasks instances, so all of them are instantiated more than once on most machines. I think we should avoid putting the same Tak twice in the processing pipeline, that could be confusing. I couldn't think on a more user friendly layout, but I'm open for suggestions. |
|
-Ajuste do dialog para geração de relatório
…abalhando em conjunto com o Reportinfo do iped-search app
…dd to HTMLReport whe start the processing from Home menu
i have finished the first report integration version. @lfcnassif I have a question... I don't analyzed all code and, to save some time, i would appreciate if you could told-me how the iped-search-app generates the HTML report without to enable "enableAutomaticExportFiles" on IPEDConfig.txt and the "CategoriesToExport" ? |
Thank you @thiagofuer!
The iped.app.ui.ReportDialog class saves checked bookmarks to a temp Please convert this draft to "Ready for Review" when you finish all your planned changes, so we can schedule some time to start the review, thanks! |
i've tried to do the same but i do not reach the same result. Even creating the .iped file was necessary to change the parameters but it is not a "required modification" i was trying to do that to create a basic report HTML with the case information.
Before to change to "Ready for Review" i need to know how to proceed with this topic? or he isn't a required topic to release this version? |
Translating all config files comments to all supported languages will need a lot of work from foreign collaborators and I'm not sure if they will be able to help us in the near future. So I think we may delay this to 4.3, what other devs think?
Sure! I'll try to take a look and test with a real asap file soon. |
-JTextArea improvements(wrap text and focus) -Added a scrollpanel to handle big texts
-Some code refactoring -Open case bug adjustment
-Fix New Case tab color and navigation
-Open multicase bug fix
Hi @lfcnassif and @patrickdalla. |
I tested it on another machine and I was able to see that the problem was probably the environment on my PC. |
Thank you @thiagofuer for all your work on this great contribution! When I get some reasonable time slot available, I'll try to start the review. |
Suggestion: |
This is a good idea. But I don't agree to allow using all the physical memory as Xmx. The OS needs memory, IPED opens several other processes that need memory (imagemagick, mplayer, tesseract, robustImageReaders, java and non java external parsers, python processes). As a rule of thumb, I would allow using half the physical memory and possibly limit it to 32GB, as more than that causes java pointers to go from 4 bytes to 8 bytes, wasting much more memory just to manage object references. Traditional JVMs also have trouble to garbage collect huge heaps, not sure about more recent JVMs. |
Yes, as you said, allowing all physical memory can be bad because the system can run out of memory. That's why I said "or available memory" in the sense of memory that is free for use and the OS is not using it. In the graphical interface that I use, I leave the maximum possible as the physical one, but I know not to set the maximum. That said, it would be a matter of defining what would be a default value for maximum memory, which could also be configurable as a parameter. |
This is the first part of issue #23 implementation for review and suggestion.
Layout content:
-Home page with logo and options buttons ("Open case" button not implemented yet)
-Config menu (by now it only read properties and do not write)
-New case menu
tab case info: read data but don't save
tab evidences: only "add disk" is missing
tab process options: not implemented yet
-"Start processing" is being implemented now
no internationalization ready (it's in pt-br only)
To test the new UI implementation go to iped.app.home.MainFrame and run main method
you need to setup iped properties location manually (by now its hard coded)