-
Notifications
You must be signed in to change notification settings - Fork 218
Add moqui-minio enterprise MinIO integration component #670
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
base: master
Are you sure you want to change the base?
Add moqui-minio enterprise MinIO integration component #670
Conversation
… and CVE-2022-2047 (low severity); update Shiro from 1.9.0 to 1.9.1 for CVE-2022-32532 (high severity); the Shiro vulnerability is not an issue for moqui-framework OOTB because the Shiro Servlet is not used to determine paths that need authentication or authz; the Jetty issue leaves sensitive data in memory, there are some configuration changes that can fix the issue but update is easier
…group setting for entity, view-entity and EntityDynamicView; after this change a group attribute on view-entity is still allowed, but if no specified will default to the group of the first member-entity instead of the system wide default as it was before which caused the issue reported in PR moqui#538
…e a bit flip on a public final boolean field is concerning
…nSearch version to date
…EthaSmtpToolFactory.groovy
…e differently for EntityListIterator to avoid calling hasNext(); this improves performance and helps with a MySQL JDBC driver issue with useCursorFetch = true where ResultSet.isBeforeFirst() returns true when there are no results, and it should return false in that case
…eue in DB for better cluster support without distributed executor (moqui#545) * Change ServiceCallJobImpl to use new ThreadPoolExecutor in ServiceFacadeImpl separate from ECFI worker pool, add new settings for this with default max queue size of zero so that queue is left in DB, generally more reliable behavior with less in the in-memory queue if a server crashes and will better split the load across multiple servers running jobs * Use different ThreadFactory for different names for the general worker threads and the service job threads * In ScheduledJobRunner track jobs ready but not run due to insufficient job slots, small changes to pool parameters for expected common case
…Actions iterator element did not auto close EntityListIterator instances; thanks to Deepak for reporting this on the forum
…nclude the catalog from the Connection; this is needed for MySQL which does not restrict meta data queries to the current connected database without specifying a catalog on these methods; this is tested with H2 and should be fine with Postgres as well, may cause issues with other databases and needs more testing
…tory() don't exclude the pageIndex from the save URL but ignore it when removing old history items
…, slf4j (2.0.2, now out of beta), snake yaml, and junit; note than even though SLF4J 2 is out of beta the Log4J2 adapter has not been updated so there is still a warning on startup
…, sometimes important to know about and matches the warning about unknown columns on a table
Due to a break in compatibility in the SLF4J binding, as of release 2.19.0 two SLF4J to Log4j Adapters are provided - log4j-slf4j-impl should be used with SLF4J 1.7.x releases or older. - log4j-slf4j2-impl should be used with SLF4J 2.0.x releases or newer. https://logging.staged.apache.org/log4j/2.x/log4j-slf4j-impl/index.html
Updated slf4j2 impl dependency
…n of openjdk (moqui#544) * Remove myaddons.xml from .gitignore * Add myaddons.xml and aws deploy workflow * Allow open search with docker and clean up the docker workflow a bit * Test aws action * Test AWS Action * Test AWS Build * Test AWS lint * Test AWS * Fix docker open search and keep the basically same bash logic, Change default image because of deprecation of openjdk * Fix database volume in moqui-ng-pg-compose.xml * Remove aws workflow * Remove myaddons.xml * Keep compose-up.sh the same, and move docker-build.sh and compose-up.sh to build-compose-up.sh * Flip build and compose-up
…databind to 2.13.4.2 which resolves CVE-2022-42003 for issue moqui#547
…tions where it was not already disabled, users should not need any special permission for these as access to DbResource is low level like a filesystem and access control is managed at higher levels
…t behavior of serializing the object and calling all get methods, can cause infinite recursion or errors for other objects that Databind can't serialize by default
…w-extra-path attribute in a XML Screen; first use in a new endpoint to get published wiki page, also added a couple more wiki page related endpoints but far from comprehensive for all or most in WikiServices.xml
…ceReference.putBytes() method behaves poorly because it wraps it in a stream and in DbResourceReference a stream is read into memory, creating a duplicate byte[], much better to go direct and avoid a duplicate buffer
…time ago, only happens when the allow any html setting on the WikiSpace is N because Y means don't filter or clean the incoming html; this was updated in the service ParameterInfo class along with the library but this change was missed; the upstream change in jsoup was renaming a class from 'Whitelist' to 'Safelist' to avoid use of a particular term (on a side note, they did not consider this a non-backward compatible change worthy of a major version bump)
… general effort to add UI and more config for E/S-ECA rules
更新网盘相关的基础配置
# Conflicts: # myaddons.xml
文件浏览器初始补充了debug日志,删除了多余的启动配置文件
|
@moqui-maintainers |
|
@heguangyong Can we get a PR for minio support that is ONLY for minio with separate PRs for jwt and localization etc? |
|
@acetousk Thank you for the valuable feedback! I completely agree with splitting the PR into focused, single-purpose contributions. Proposed ApproachTo make the contribution cleaner and more maintainable, I would like to propose creating a separate repository under the Moqui organization for the
Benefits of This Approach
Proposed StepsStep 1: Create moqui-minio RepositoryIf this approach is acceptable, could you please:
Step 2: Initial Core SubmissionI will submit the core MinIO functionality ONLY, including:
What will NOT be included in the initial submission:
Step 3: Follow-up PRsAfter the core is accepted, I will submit separate PRs for:
Step 4: Update moqui-frameworkI will close this PR (#670) and create a new minimal PR that simply:
Current StatusI have already:
The component is production-ready and includes:
What I NeedTo proceed with this plan, I need:
Once the repository is ready, I can have the core functionality PR ready within 1-2 days. Alternative ApproachIf creating a separate repository is not preferred, I can alternatively:
Please let me know which approach you prefer, and I'll proceed accordingly. Thank you for your guidance on making this contribution fit well with the Moqui project structure! 发布后的跟进预期响应 (3-7天)场景 A: 同意创建仓库 ✅
场景 B: 建议其他方案
场景 C: 需要更多信息
如果7天无响应礼貌地跟进: Hi @acetousk,
I wanted to follow up on my proposal in PR #670 regarding the moqui-minio component.
I've prepared a clean, core-only version of the component (without localization) and I'm ready to proceed as soon as we decide on the repository approach.
If you have any questions or need additional information, please let me know.
Looking forward to your feedback!
Best regards,
[Your Name]文件位置
|
🧩 Summary
This PR adds a link to a new community component: moqui-minio.
It provides enterprise-grade MinIO object storage integration for the Moqui framework, with production-ready architecture and comprehensive documentation.
🚀 Key Features
Core Capabilities
Enterprise Enhancements
⚙️ Installation