treolabs / treocore Goto Github PK
View Code? Open in Web Editor NEWPlease use AtroCore instead of TreoCore!
Home Page: https://treolabs.com
License: GNU General Public License v3.0
Please use AtroCore instead of TreoCore!
Home Page: https://treolabs.com
License: GNU General Public License v3.0
Add validation to "hasCompleteness" when validating fields
Current ACL system is not as flexible as needed. That's why a new ACL system should be developed.
Mockup: https://drive.google.com/file/d/1-uhYwtXM_dWAIC4QD1EHyUgkXmR4uo6L/view?usp=sharing
Validation of required fields using dynamic Logic
beforeSave
method there is possibility to skip it (by options skipBeforeSave
or skipAll
).can
and after save should be run method apply
.Use the temporary folder to save new files
Update thumbnail builder (build from a tmp folder)
After saving the related entity move file into main storage.
function prepareVersion(string $version, bool $patch = false): ?string in installer.php fails for mysql version 8.0.17
Fixed by using isset instead of !empty
Need to change HTTP status for "NoChange" status from 400 "Bad Request" to 304 "Not Modified"
Hi,
I don't have a lot of experience with authenticating against an API via curl, so I'm wondering if someone can point me in the right direction to get started.
I created a user 'dev', password '1234', with admin privileges.
Based on treolabs/treopim#349 I tried to connect using:
curl --header "Espo-Authorization: $(echo -n dev:1234|base64)" --get https://treopim.mydomain.com/api/v1/App/User
Nothing is returned. I am expecting a token.
How should I complete the authentication part?
When removing the language from Administration » Multi-Languages Settings, the pop-up with confirmation and the message that all data of the removed locale will be also removed, should be displayed.
If the locale is removed, so are all your data previously entered in the multi-language fields for this locale.
Wenn das Locale entfernt wird, werden auch alle seine Daten entfernt, die Sie vorher in die mehrsprachigen Felder für dieses Locale eingegeben haben.
The TreoCORE logo should be centered and the horizontal gray line should be deleted (they are displayed when installing the system) - https://screen.treotest.com/i.rybachok/2019-05-13_16-43-48.jpg - https://screen.treotest.com/i.rybachok/2019-06-25_08-29-23.jpg
The Admin panel entries descriptions are to be rewritten according to the suggestions.
Add validation for entity updating. Entity should update only if input data is different from stored data.
Please, create a new field type such as bool but with multi languages
Hi,
Should I be able to link a product to an image via the API? I was under the impression that every single CRUD function of TreoPIM is internally handled by the API.
I can GET https://treopim.mydomain.com/api/v1/Brand fine, so I know my basic API access is okay.
But if I try to update a product's image with:
PUT https://treopim.mydomain.com/api/v1/Product/5c7a7ce88ba535aab
with JSON paylod:
{
"image": "5c7ac114a5529d14e"
}
I receive a 'HTTP/1.1 200 OK' but nothing changes in the DB table 'product_image_product'.
Am I doing it wrong, or how can I toubleshoot this?
Also, I just noticed, your API docs say the 'entityid' part of the API URL should be an integer, however the actual DB has the ID as a varchar field.
If the process is started in Queue Manager, the ability to update modules must be blocked.
In Module Manager the information should be displayed that the process is started and the modules cannot be updated.
The ability to inherit the role by another role will make ACL more flexible.
Hello I am trying to install a CSV into Product Families.
This is a pretty clean TreoPIM 3.7.4, having only installed it yesterday.
The only existing Product Family record is the default one.
I try a file containing the following:
pg3_id,pg3_description,nameFrFr,nameDeDe,nameItIt,pg2_id,attset_id,commodity_code,unspsc,owner_id
A000001,Axial Angular Contact,Axial Angular Contact,Axial Angular Contact,Axial Angular Contact,A000,,84821090,31171531,
A000002,Double Row Angular Contact,Double Row Angular Contact,Double Row Angular Contact,Double Row Angular Contact,A000,1059,84821090,31171531,
I configure the importer as following:
The importer completes without error. But also without any import/duplicates/updates.
No reason given why it did not work.
Is this importer broken?
Thank you.
Installation of this project completely unclear.
Which Linux distribution recommended?
Any virtual images?
process-treopim - an unique id of process. You should use different process ID if you have few TreoPIM project in one server
Is it a number? Is it alphanumeric?
How to configure web-server?
.... only wasting time trying to install....
Installation still not clear.
Which Linux distribution?
Pl. give examples.
Pl. show step by step.
And/or kindly provide virtual image.
Pl. note that you may have a distribution, system configuration setting in which it may work right away. Not so for others.
Also - if needed - which mysql configuration is necessary? Where is location / configuration file for credentials / database.
In /#Admin/settings, the setting Calendar Entity List is displayed. It must be displayed, only when CRM module is installed. If CRM module is not installed, this setting should not be displayed.
All required fields should be validated when post request is sending.
I created folder Listerners in custom/Espo/Custom.
And added class inherits from AbstractListeners, but it does not hook into any actions.
then I add code to parse custom Listeners folder in getClassesName funcion in (vendor/treolabs/treocore/app/Treo/Core/EventManager/Manager.php)
` // for core
$corePath = CORE_PATH . '/Treo/Listeners';
if (file_exists($corePath)) {
$this->parseDir('Treo', $corePath, $listeners);
}
// for modules
foreach ($this->container->get('moduleManager')->getModules() as $id => $module) {
$module->loadListeners($listeners);
}
// for custom
$customPath = 'custom/Espo/Custom/Listeners';
if (file_exists($customPath)) {
$this->parseDir('Espo\\Custom', $customPath, $listeners);
}
`
It works but I'm not sure about the others effect will occur or not.
e.g.
<FilesMatch "(notReadCount\.json|popupNotifications\.json)$">
Allow from all
</FilesMatch>
fails on (modern?) apache:2.4
Actual result: if you change only the currency in the field of the type “Currency”, the empty record is displayed in the Stream - https://screen.treotest.com/i.rybachok/2019-09-24_15-09-15.jpg
Expected result: if changing the currency in the field of the type “Currency”, all changes are recorded in Stream.
Hi Is it possible to request a minor feature?
We are brand new with TreoPIM (currently using 3.7.4 without any extensions*), and hoping to have it replace our LAMP-based in-house MDM. What we are struggling with, is the data import feature.
Take 'product categories', for example.
It took me probably 3 hours of trial and error to get some data imported here into a single entity. Only by manually creating some records via the GUI, and observing the data validation/filtering TreoPIM does, and by logging into MariaDB's CLI and inspecting the actual 'category' table, did I find the clues.
What we would like to see added into TreoPIM's GUI import:
Despite these suggestions, we really love what we've seen from TreoPIM so far, and are crossing our fingers tightly that this can be our organization's choice of PIM/MDM going forward.
Keep up the good work!
Kind regards
*We have ordered our first extension, just awaiting support to activate it
Modules should be loaded only one time
The error is displayed in the logs
[2019-08-09 08:02:12] Espo.WARNING: E_WARNING: file_get_contents(https://packagist.treopim.com/packages.json): failed to open stream: HTTP request failed! {"code":2,"message":"file_get_contents(https://packagist.treopim.com/packages.json): failed to open stream: HTTP request failed! ","file":"/var/www/treopim-install/public_html/vendor/treolabs/treocore/app/Treo/Services/TreoStore.php","line":161,"context":{"http_response_header":["HTTP/1.1 200 OK","Date: Fri, 09 Aug 2019 08:01:09 GMT","Server: Apache/2.4.25 (Debian)","Connection: close","Content-Type: application/json"]}} []
Add init states to the workflow configurations, it means that workflow entity can be created only with defined states.
After the modules update, а long module name should be displayed in the Notifications pop-up. https://screen.treotest.com/i.rybachok/2019-08-16_16-14-15.jpg
After the system update, the "System" should be displayed instead of "Module Treo" in the Notifications pop-up.
After the system and modules downgrade, the notifications also should be displayed in the Notifications pop-up (as after the upgrade).
Develop a new mechanism of Treo Store modules composing
Notification about composer update only if some modules updated, installed, deleted
Hello,
today I tried tropim api. Endpoint documentation looks awesome. However, I do miss a basic tutorial or a how to start. Could not find any information how to get a auth token. Basic Auth is working but I don't think its best practice.
When editing a field of type linkMultiple returns "No changes for updating"
Add the ability to skip the ProcessFileFieldsSave method when storing an entity
Moving attachments into the correct file structure after save.
Hello,
first of all, great work. Looks very promising.
I tried some endpoints that I couldn get to work for example
/Product/{product_id}/listImages
could find the route in application/Espo/Resources/routes.json
maybe the routes should be autogenerated by annotation/comments as the documentation
Every second sunday at 00:00 the system should do auto-updating if that action is allowed by an admin user. That mechanism will helps keep the system actual.
Sometimes it is necessary to check if some module is installed.
TreoPIM v3.7.4.
Trying to import/update a product's 'category' via the GUI importer.
We have tried including the category Code, the category Name and even the category ID in our products source file, and mapping it to 'category' in the TreoPIM field list... but nothing.
The import process completes and all fields are updated/created, except for the category field.
Just how do we import the category field?!
Login
- a notification about the required field is displayed - https://screen.treotest.com/i.rybachok/2019-05-15_08-34-16.jpgEntity hooks is deprecated now. Please remove them and use event listeners instead.
Unify anchor navigation for the Administration section so that a whole path includes the subsection name.
E.g: Administration > System > Settings
Administration > System > User Interface
Administration > Customization > Settings
Errors in Queue Manager, if fields of the Array
and Multi-Enum
types are left empty (non-filled) in the import file
[2019-08-22 11:56:26] Espo.ERROR: QM failed: explode() expects parameter 2 to be string, array given #0 /var/www/treopim-install/public_html/vendor/treo-module/import/app/Services/ImportTypeSimple.php(265): explode(';', Array) #1 /var/ww w/treopim-install/public_html/vendor/treo-module/import/app/Services/ImportTypeSimple.php(66): Import\Services\ImportTypeSimple->prepareEntities(Object(Treo\Entities\Attachment), Array) #2 /var/www/treopim-install/public_html/vendor/treo labs/treocore/app/Treo/Core/QueueManager.php(259): Import\Services\ImportTypeSimple->run(Array) #3 /var/www/treopim-install/public_html/vendor/treolabs/treocore/app/Treo/Core/QueueManager.php(73): Treo\Core\QueueManager->runJob(0, '5d5e8 2e99ed92e6...') #4 /var/www/treopim-install/public_html/vendor/treolabs/treocore/app/Treo/Console/QueueManager.php(64): Treo\Core\QueueManager->run(0) #5 /var/www/treopim-install/public_html/vendor/treolabs/treocore/app/Treo/Core/Console Manager.php(73): Treo\Console\QueueManager->run(Array) #6 /var/www/treopim-install/public_html/vendor/treolabs/treocore/app/Treo/Core/Application.php(164): Treo\Core\ConsoleManager->run('qm 0 --run') #7 /var/www/treopim-install/public_ht ml/index.php(51): Treo\Core\Application->runConsole(Array) #8 {main} [] []
Modify all entity creation windows/pop-ups titles in the following way:
<Entity> > create
--> <Entity> > New
(capitalize both words) - for windows
CREATE <ENTITY>
--> <ENTITY>: NEW
- for pop-ups
Actual result: 1. Error "400: No changes for updating" is displayed when user changed value from "None" to "0" in the fields of the Integer
or Float
type - https://screen.treotest.com/i.rybachok/2019-09-27_11-39-32.jpg
2. Error "400: Validation failed. 'id' is required" is displayed when user is creating a product category and product attribute with channel scope - https://screen.treotest.com/i.rybachok/2019-09-27_11-44-28.jpg
Expected result: 1. Value "0" is successfully saved in the fields of the Integer
or Float
type
2. Product category and product attribute are successfully created
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.