Skip to content
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

Version 4 Plan - Features and Enhancements Roadmap #43

Open
visto9259 opened this issue Jul 11, 2023 · 5 comments
Open

Version 4 Plan - Features and Enhancements Roadmap #43

visto9259 opened this issue Jul 11, 2023 · 5 comments
Assignees
Labels
V4 To be implemented in version 4

Comments

@visto9259
Copy link
Member

visto9259 commented Jul 11, 2023

Version 4 Plan - Features and Enhancements Roadmap

This is to document the enhancements, features and other changes to bring to LmcUser in a forthcoming version 4.

Rationale

LmcUser is a port of ZF-Commons/ZfcUser to Laminas. ZfcUser was developed several years ago and was based on Zend Framework v2 and v3. The port of ZfcUser to Laminas did not bring significant improvements or new features to the package. New frameworks based on Laminas MVC, such as Laminas API Tools have, come along and the Laminas Components have also evolved. It is long overdue to give it a serious upgrade.

LmcRbacMvc has been installed more than 25K times according to Packagist which is a good indication that the package has its usefulness in web application. We are looking for users of the package to provide inputs into the development roadmap for Version 4.

Process

  • Comment on this issue if you want to add an enhancement or a feature to be included in Version 4.
  • Issues will be created for enhancements/features selected for inclusion in V4 and will be added to the development Backlog and will be labeled as v4
  • Development toward V4 will be done on the 4.x branch.
  • A GitHub project for LmcUser was created and issues to be added to the project so that progress can be managed
  • Issues will be assigned to contributors

Selected Enhancements

Proposed enhancements

@visto9259 visto9259 added the V4 To be implemented in version 4 label Jul 11, 2023
@visto9259 visto9259 self-assigned this Jul 11, 2023
@visto9259 visto9259 pinned this issue Jul 11, 2023
@visto9259
Copy link
Member Author

Adding #46 to the list of enhancements

@visto9259 visto9259 moved this to 🆕 New in LmcUser Development Feb 27, 2024
@visto9259
Copy link
Member Author

Adding #48 to the list of enhancements

@visto9259
Copy link
Member Author

Adding #56 to list of enhancements

@tyrsson
Copy link

tyrsson commented Aug 13, 2024

A few suggestions.

General suggestions:

  • Remove the Service Locator usage. Service Manager should not be injected into services
  • Move listeners to ListenerAggregates to get them out of bootstrapping.
  • Remove EventManager\EventProvider as EventManagerAwareInterface / EventManagerAwareTrait makes this redundant as far as I can tell.
  • Refactor *Options classes to extend Stdlib\ArrayObject and pass ArrayObject::Array_As_Props flag.

Forms:

  • Move logic to the forms init methods and out of the Form classes constructors.
  • Register Forms via the FormElementManager. The FormElementManager is a plugin manager designed specifically for forms and form elements. It has the Initializable initializer running against all instances (iirc) and verifies that the instances are compatible.
  • Move most current logic to fieldsets so its reusable and entities can be bound to them to simplify controller logic.
  • Provide a PasswordFilter for hashing the password.
  • Use the provided Laminas Authentication provided Validator for logging the user in upon form validation (if possible not sure if your workflow will lend itself to that.)

More to come.

@visto9259
Copy link
Member Author

Thanks @tyrsson
I will create new issues accordingly

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
V4 To be implemented in version 4
Projects
Status: 🆕 New
Development

No branches or pull requests

2 participants