Closed tabuna closed 2 months ago
I would like to replace mix
with import-map
.
This change will allow the application to load only the JavaScript code that is actually needed. For example, if a feature is not using the Markdown field, the associated code won't be loaded in the browser. Additionally, this will make it much easier to add custom JS controllers without dependencies.
It will also enable the reuse of JS libraries in custom controllers without duplicating code.
Goals for the New Major Version
I have many ideas about changes and additions I would like to make, so I decided to create a discussion thread here. This way, everyone can review the suggestions, contribute their own ideas, or ask questions.
1. Simplify Naming and Unify Terminology
In the current version of the project, there is inconsistency in naming various components. We use names like
orchid
for the provider,dashboard
for the singleton class, andplatform
for templates and translations. This creates confusion and complicates understanding of the project structure. In the new version, we will adopt a single, consistent name to improve readability and avoid misunderstandings. This will help users navigate the code and documentation more easily.2. End Support for Laravel 10
With the release of Laravel 11, we need to end support for Laravel 10. This will allow us to focus on using the new features and improvements provided by the latest framework version, and simplify maintenance and development of the project.
3. Automatic
ServiceProvider
RegistrationLaravel 11 introduced a new mechanism for automatically updating
bootstrap/providers.php
. We will use this mechanism for automatic registration of custom providers, eliminating the need to specify them in configuration files and simplifying setup and extension of functionality.4. Unified Endpoint for POST Requests
Currently, routes can be defined as GET|POST, which leads to different approaches in handling screens and potential issues with middleware. We will introduce a unified endpoint for POST requests to ensure consistency in data handling. This will improve user experience, make code more predictable, and simplify middleware management.
5. Remove Upload/Image and Introduce Attach
Since the
Image
field in the current implementation does not offer clear advantages over other fields and duplicates functionality, we propose removing it. Instead, we will introduce theAttach
field, which will be more versatile and easier to understand, reducing duplication and simplifying file handling.6. Improve Data Selection
For PostgreSQL users, it may not be obvious that
ilike
should be used for case-insensitive searches. We will enhance support for such searches by implementing the modernwhereLike
method in relationships and filters. This will provide a more intuitive search experience and improve usability.7. Remove All Deprecated Methods and Constants
The current version contains a few deprecated methods and constants. We will carefully review and remove them to clean up the code from obsolete functionality and reduce potential issues and confusion.
8. Improve Field Handling with Components
Given the changes in project context, we will consider using components for field handling, such as:
This will improve flexibility and extensibility of fields, avoiding the need to extend all variables.
9. Support for Dark Mode
With the release of Bootstrap 5, which includes dark mode support, we plan to integrate this feature into the project. This will require adapting current variables and deciding on a convenient location for the theme switcher in the user interface. Implementing dark mode will enhance visual appeal and make the interface more modern and user-friendly.