eZ Publish Summer Camp 2013 - Building custom field types

821 views
721 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
821
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

eZ Publish Summer Camp 2013 - Building custom field types

  1. 1. Building custom field types Edi Modrić ( @emodric ) https://github.com/emodric/EzscIpAddressBundle
  2. 2. About me • Edi Modrić • Computer engineering masters degree • Working at Netgen for 6 years • 5 years of eZ Publish development • Certified eZ Publish developer • eZ Tags maintainer • Collaborated with eZ Systems on eZ Publish 5 kernel • @emodric • edi@netgen.hr
  3. 3. Agenda • A little bit of theory • Coding a simple field type • Verifying that it works
  4. 4. The code $ cd /var/www/ezpublish/src/ $ mkdir Netgen && cd Netgen $ git clone git://github.com/emodric/Ezsc IpAddressBundle.git
  5. 5. Datatype + public API = field type • Content class = Content type • Content object = Content • Content class attribute = Field definition • Content object attribute = Field • Object attribute content = Field value • Datatype = Field type
  6. 6. Field type components • Main field type implementation • Field type value • Per storage converters
  7. 7. Field type storage • Internal storage • Stores data to ezcontentobject_attribute DB table • External storage • Custom database tables • Anything else
  8. 8. What about legacy stack? • Legacy datatypes are not going anywhere • No admin interface based on Symfony stack • To actually use your field type, you WILL need legacy datatype
  9. 9. Field type vs. datatype • No difference in functionality • Advantages over datatypes • Clear separation of concerns • No POST variables • No SQL • No file uploads • More readable and understandable code

×