Forum Replies Created
-
AuthorPosts
-
david.h
ParticipantCalpaq/Anh,
In the past I have done this with jQuery.
It's probably possible to use Metabox's hooks/filters to add the necessary markup.
Example: https://codepen.io/atakan/pen/gqbIz
Plugin: http://www.jquery-steps.com/Would be useful if this was baked-in though.
Thanks
david.h
ParticipantNice work Anh,
Soon people won't even think of another toolkit/framework for WordPress.
david.h
ParticipantAnh,
Check out these OSM "fields" for Gravity Forms and ACF - they should be relatively straightforward to convert into the Metabox equivalent:
https://wordpress.org/plugins/brilliant-geocoder-gravity-forms/
https://github.com/mcguffin/acf-field-openstreetmapThanks,
Daviddavid.h
ParticipantHi Anh and Michele,
I think the main issue here is that Google could change their Terms of Service again and reduce the "free" offering, whereas OpenStreetMap is open source meaning that if Metabox incorporates OSM there should never be an issue.
In addition, OpenStreetMap uses data collated from a wide variety of official sources (including Geonames) so it's very reliable and the open source nature of the project means it fits well with the WordPress way of thinking.
There are many mature GPL plugins on the WordPress repository that facilitate OSM. Presumably one of these would give a good starting point for integration: https://en-gb.wordpress.org/plugins/tags/openstreetmap/
OpenStreetMap gets my vote.
david.h
ParticipantI had wondered about this too.
Anh, what about supporting OpenStreetMap?
david.h
ParticipantHi Anh,
I am certainly interested in pursing this with you.
However, my full stack development experience (15+ years) comes from .NET/MsSQL so I'm still relatively new to open source platforms and PHP/MySQL.
Do you want to create the repo under github.com/wpmetabox?
As an aside, is there a way to filter forum threads? I cannot find a "My Posts" link to quickly find all threads I have started.
Thanks,
Daviddavid.h
ParticipantNice one Anh.
I've had a few more ideas for Metabox which I can discuss here or offline by email if you prefer?
david.h
ParticipantHi Anh,
This looks like a great implementation of WordPress relationships. I'll give it a try soon and feedback anything potentially useful.
Best
david.h
ParticipantAny update Anh?
david.h
ParticipantOk,
This feature is the main thing missing from WordPress as it enables far more performant CPTs.
It is how Drupal works and is the main benefit Drupal has over WordPress.
Metabox could be the first framework to bring WordPress up to the standard needed of a modern CMS.
Please can you advise when this funcationality will be added?
Thanks
david.h
ParticipantHi Anh,
The implementation was for a previous client using .NET and MsSQL so it's not an identical comparison, but I can explain the principles which remain the same.
The two relationship tables were relatively complex but allowed for all conceivable searches to be performed extremely quickly (with only one join) and covering indexes which enabled the system to scale past millions of records with no noticeable performance degradation.
Relationship Structure table:
tId - Unique table ID
relationshipType - Type of relationship (1-1,1-Many,Many-Many)
contentType - Type of content (event)
contentId - ID of the content
relatedContentType - Content type of related content (band)
relatedContentId - ID of the related contentRelationships table:
tId - Unique table ID
contentId - ID of the content
relatedContentId - ID of the related content
biDirectional - Whether relationship is bi-directional (boolean)I hope the above is enough for you get a clearer understand of how we achieved content relationships. Posts2Posts is certainly the best relationships plugin for WordPress (so far) but it is no longer supported and is missing advanced relationship/front-end capabilities.
David
david.h
ParticipantHi Anh,
In my latest project, I have several requirements for relationships so I'll give you one example which involves events and bands. To simplify I will not include all the custom meta for each custom post type, but will highlight the key elements that form the structure in CAPS:
CPT EVENTS with custom meta LOCATION, DATE, BANDS
CPT BANDS with custom meta TYPE, AVAILABILITY, EVENTSThe above shows how a custom booking system could allow site users to create an EVENT at a particular LOCATION which is available on a given DATE. Then they could book a BAND by TYPE of music that has AVAILABILITY on the chosen DATE.
The repeatable booking form would allow adding multiple BANDS to one EVENT creating a one-many relationship. In addition, the site would allow users to create a TOUR containing multiple EVENTS with multiple BANDS at each EVENT thus creating many-many relationships.
If people wanted to purchase tickets, they could search for EVENTS in their LOCATION and see what BANDS are playing on a given DATE, or they could search for BANDS they like and see what DATE they are playing near their given LOCATION (using FacetWP integration)
There are of course many other uses for relationships in WordPress for example:
CARS and PARTS - Many PARTS could fit many CARS
BOOKS and AUTHORS - Many AUTHORS could co-write many BOOKS
PERSON and PEOPLE - Social relationships between one PERSON or many PEOPLEHopefully this has given a clearer insight into my thoughts. Due to the complex nature of post relationship SQL queries, a custom table is essential to avoid hundreds of self joins and ensure efficient indexing, scaling and flexibility.
I'm happy to help with this - it's something I previously developed as a bespoke solution, but will now be using extensively within the WordPress ecosystem. A good post relationship extension for MetaBox would certainly make it the best CMS framework plugin for WordPress.
David
david.h
ParticipantWebTrooper,
I have been looking through some of the MetaBox code and think it would be relatively straightforward to implement.
With some small modifications to the FrontEnd plugin, it could even be done with hooks and filters along the lines of:
if $post_type = "user"
then wp_insert_user is called instead of wp_create_post
Anh, what do you think?
-
AuthorPosts