{"id":23395789,"url":"https://github.com/netgen/enhancedselection2","last_synced_at":"2025-10-05T15:35:47.516Z","repository":{"id":21063304,"uuid":"24362654","full_name":"netgen/enhancedselection2","owner":"netgen","description":"The Enhanced Selection type was initially based on the standard eZ publish Selection ('ezselection') datatype. It's original intent was to provide the same functionality as the standard datatype, but store an identifier instead of an id in the contentobject attribute.","archived":false,"fork":false,"pushed_at":"2020-11-05T15:00:16.000Z","size":65,"stargazers_count":2,"open_issues_count":1,"forks_count":3,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-09T18:50:26.173Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://netgen.io","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/netgen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-23T08:15:45.000Z","updated_at":"2020-11-24T07:33:09.000Z","dependencies_parsed_at":"2022-09-05T05:21:54.045Z","dependency_job_id":null,"html_url":"https://github.com/netgen/enhancedselection2","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netgen%2Fenhancedselection2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netgen%2Fenhancedselection2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netgen%2Fenhancedselection2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netgen%2Fenhancedselection2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/netgen","download_url":"https://codeload.github.com/netgen/enhancedselection2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248414327,"owners_count":21099456,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-22T07:18:21.262Z","updated_at":"2025-10-05T15:35:47.438Z","avatar_url":"https://github.com/netgen.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Enhanced selection datatype\n---------------------------\n\nThe Enhanced selection type was initially based on the standard eZ Publish\nselection (`ezselection`) datatype. It's original intent was to provide the\nsame functionality as the standard datatype, but store an identifier instead\nof an ID in the contentobject attribute.\n\nLater on, it was extended to provide more functionality, particularly on the\nclass level.\n\n## What does it do?\n\nThe end result is exactly the same as the standard selection datatype. It\nprovides a dropdown list of the given options (multiselect is also supported).\n\nThe real enhancements are behind the scenes for most users, but they should make\nthe life of the developer/site admin a bit easier.\n\n\n## Then what IS different?\n\nThere are two areas that are affected by the enhancements.\n\nThe easiest one is on the content object level. The standard selection datatype\nstores the ID of the option you chose during the edit of an object. While this can\nbe ok for some, it was not what we wanted. If you change the options of the selection\ndatatype, the ID can point to the wrong option. The change we did is right there: it\nno longer stores an ID, but the identifier of the option you picked. This enables the\ndatatype to track changes in the options as long as identifiers don't change. Where\ndoes the identifier come from? Read on, and you'll find out :-)\n\nThe second area with enhancements is the content class edit. Several functionalities have been\nadded here in comparison to the standard selection datatype.\n\nFirst of all, each option you add consists of two fields: the human readable form of\nthe option and the identifier. If you do not specify an identifier, the datatype will\ngenerate one for you using the same mechanism as eZ Publish (class identifier, attribute\nidentifier, ...).\n\nFurthermore, there are up and down buttons next to each row (= option). This way, you can\neasily change the order of the options. The options in the final dropdown list will be \ndisplayed in the same order as you can see in the content class edit.\n\nThe datatype also supports information collection.\n\n## I'm still not sure how it works\n\nWell, why don't you try it then?\n\nInstall the extension, create a test class, add the datatype and play with it.\n\n## How do I install it?\n\nPlease read [installation instructions](INSTALL.md)\n\n## Version history\n\n* v1.0:\n    - Original SCK-CEN extension\n\n* v1.1:\n    - Added Solr indexing handler together with `fromString`/`toString` methods in datatype\n\n* v2.0:\n    - Rewrite extension to store the options in the database table instead of serialized array\n\n* v2.0.1\n    - Bugfix in migrate script\n\n* v2.0.2\n    - Add database schema file\n\n## Disclaimer \u0026 copyright\n\nEnhanced selection extension for eZ Publish 4.x\nCopyright (C) 2003-2008  SCK-CEN (Belgian Nuclear Research Centre)\n\nThis program is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation; either version 2 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nThis extension has been developed as part of projects inside the\nBelgian Nuclear Research Centre (http://www.sckcen.be).\n\nThe extension is tailored to fit our needs, and is shared with the community as is.\n\nYMMV!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetgen%2Fenhancedselection2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetgen%2Fenhancedselection2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetgen%2Fenhancedselection2/lists"}