Metadata API/UI Meeting Today

We’re having a low-key meeting today, as people are out enjoying WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. Atlanta and others this weekend. Don’t forget about the time change, it’s still at 19:00 UTC which is 2pm CDT now with day light savings time. We’ll be in #wordpress-coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-plugins as usual.

We’ll be discussing the overall APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. plan and ironing out some ideas that should help us be ready to discuss pros/cons of some new concerns with the structure and usage of classifiers for performance.

#fields-api, #options-meta

Metadata project meeting notes

Our meeting today was a great reboot for us, we had a small handful of people attend, with a few additional folks listening in.

Meetings

Going forward, we will now meet every Friday at 19:00 UTC, in #wordpress-coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-plugins. We will talk about status of various tasks and make any big decisions necessary during these meetings.

Teams

We have split our contributors into teams to help delegate responsibilities in a more formal fashion. As a result, we have two primary teams and a “Lead” that will be responsible for vetting proposals and providing direction. We’re still figuring out the best method of communication between members of each team, but the end solution will be public and available for anyone to join and contribute to the discussions throughout the week between our official Friday meetings.

Please please please please, if you are interested in contributing, get in touch with me or any of the team leads. We are actively looking for help, so don’t be shy and jump on in.

APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

The registration, initialization, input sanitization, validation, and saving processes.

UIUI User interface

The markup and styling (CSSCSS Cascading Style Sheets./SASS) of the metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. boxes and fields that are registered by the API.

JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.

The JS needed for various field types and potentially what we’ll need for repeatable fields functionality.

Tom, Justin, Micah, and Devin will be reviewing Backbone implementations they are familiar with to discern any areas we may want to implement it’s usage for potentially covering Repeatable fields.

API team GoToMeeting

Mike Schinkel will be running a GoToMeeting to go over his ideas for API direction this upcoming Thursday, March 6th, 2014 19:00 UTC, feel free to contact him or watch the recording later. We’ll post a link in the comments here next week and include it in next week’s meeting notes.

New GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ repository

We have also moved our GitHub repo to a new location and setup teams to the corresponding members listed above. It’s now located in the WordPress Metadata org on GitHub

#fields-api, #options-meta

Metadata project update

Greetings all! I’m Scott, I’ve been involved as the secondary lead on the project, with primary co-lead Eric Andrew Lewis (@ericlewis). As of today, Eric and I have switched roles. Eric’s time has had a few schedule conflicts pop up, but he’ll still be participating.

Next Meeting

We haven’t posted any updates here since January, but I aim to get us back track, starting with a meeting this Friday, February 28th, 2014 19:00 UTC to reboot contributor involvement.

If you’re interested in joining us and contributing help, please join us, we’ll help assign people tasks and areas to participate.

Donating dev time to coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.

My employer, WebDevStudios, has graciously donated a blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. of time each week that will be devoted to me working on this project. I’m excited to be more involved and active on a core project. I’ll also be following tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets for the Options/MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. component on Trac to help out where I can there. I encourage others to also step up if this project is one your company or team has a vested interest in.

More info

If you’d like more information about the Metadata project currently in progress, check out our previous blog posts.

Also check out the cool dashboard for the Options/Meta API component!

#fields-api, #options-meta

Metadata project moving into development stage, opens Github repo

Metadata had a productive meeting today.

The MV* style architecture I suggested in the pseudo-code I shared in the last post was discussed, and everyone seems on board. Will write more on this in full later.

We’re moving our development to a Github repo, where anyone can open up an issue to voice concerns of any flavor. I’ve imported the pseudo-code sample as a base to continue development.

Most architectural planning discussion will happen in issues, and will be turned into verbose (and I mean verbose) documentation within the repo. I’d like all our software architectural decisions/reasoning, project background, and anything else relevant to be documented. Maybe even consider a documentation first approach to development.

The project is going to be in permanent alpha until further notice (i.e. use this on a production siteProduction Site A production site is a live site online meant to be viewed by your visitors, as opposed to a site that is staged for development or testing. at your own risk, no promises re: backwards compat., etc.).

#options-meta

Metadata Meeting Agenda January 7

We’ll be having our weekly Metadata meeting tomorrow 2 PM EST. The last two meetings have been a bit slow, which I attribute to the holidays.

For tomorrow’s meeting, I only have one agenda item: discussion on architecture. I’ve drafted up pseudo-code (emphasis on the pseudo) based on the discussions we’ve been having about our pie-in-the-sky architecture ideas. Putting code on the table should bring on the dialogue, and criticism. Looking forward to it.

#options-meta

Metadata group will be having its weekly meeting…

Metadata group will be having its weekly meeting tomorrow, Tuesday, December 24, 19:00 UTC.

I’m sure some contributors will be taking the day off, so no big decisions will be made. We’ll be reviewing where we’re at in terms of research, and adjusting course accordingly.

We’ve been focusing heavily on Post MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. libraries, which has been insightful. Post Meta libraries serve as a post meta APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways., since there isn’t anything in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. past register_meta() for sanitization/authorization, and the getter/setter functions get_post_meta(), add_post_meta(), etc.

We need to scale back our perspective a bit to the macro scale, and put down some design pattern summaries for other existing WordPress APIs that will need to be supported in this mega form building API. In that regard, I started penning a design pattern summary for the Settings API, which is in a very rough draft, but should be completed this week. The CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. API will be next on the list to analyze. Any volunteers for that?

#options-meta

Post Meta Library Design Pattern Summaries

I’ve written two design pattern summaries, one for Fieldmanager and one for Custom Metadata Manager, and I’d suggest anyone who wants to contribute right now to write one. Each library makes their own assumptions about what a metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. data object is, how it should be incorporated into the UIUI User interface, with striking differences, although the end result is more or less similar. These differences are what is important.

Pieces of software are like organisms. Each of these post meta libraries has a different biological structure; we get to dissect this software, and pick apart the design patterns and analyze their utility and uniqueness.

I think my pattern review of Fieldmanager is most on point in what we need to highlight for discussion. Also, please note: everyone has comment access, that is for a reason ;). Peer review and commenting welcome.

At this point, we need to decide what a meta data object should be. In that regard, questions to keep in mind while writing a design pattern summary: What is meta data in the eyes of this library? How are meta data objects described? Are there other distinct objects? How do they relate to each other? If any, what are the separations of responsibilities between these different components?

#options-meta

The group formerly known as Metamorphosis Update

Yesterday we held our last round of presentations of post metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. library authors. Here’s Daniel Quinn on WP Extend, Tom Auger on Zeitguys’ Meta Tool, and Joey Kudish on Custom Metadata Manager.

RIP Metamorphosis

Our current project is not a feature-as-a-pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. Features are big, user-facing elements that would probably get slapped onto a WP version’s About page. We are a bit more under-the-hood. We’re officially now working as the Metadata component group, working on our current task of creating an APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. for a metadata UIUI User interface . Although this doesn’t really change our focus, I do think it’s a less pointed perspective to bring to the table, which is good.

Organizational Changes

We’ve been operating out of a big ol’ Google doc since day one. That’s been fun, but we’re going to get a bit more organized. I’ve created a project overview page for the Post Meta UI API project Github repo (Updated 1/11/14), which should serve as a portal to all related content.

#options-meta

Metamorphosis Meeting Update

Yesterday we hosted a few more post metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. library authors to share their knowledge and experience with us. Here are the Youtubes:

Herb Miller on OIK Fields

Mike Schinkel on Sunrise

Justin Sternberg on Custom Meta Boxes & Fields

At our next meeting on December 17 2013 1900 UTC, Joey Kudish is scheduled to talk about Automattic’s Metadata Manager. At that meeting, we’ll also be reigning in scope of the APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. that we’re going to be building.

I’ve been trying to veer us into a productive conversation over design patterns; in that regard  hosting author talks has been productive – acknowledgement is being made of the similarities between the libraries and what’s special about some.

Existing Library Design Pattern Summaries

I’d like to formalize the research effort a bit by having design pattern summaries written up for each existing library. This will ease parsing design patterns across libraries; rather than diving into a library’s code-base, you can read the synopsis to understand the data structures, how they relate to each other, and then dive into the code for more detail. Easier parsing of design patterns will lead to more productive, high-level discussions by everyone involved in future API talks.

I’ve already completed the first of these, on Alley Interactive’s Field Manager. Comments welcome of course.

If you’d like to contribute and write a design pattern summary, great! Reach out to me directly on Skype (search: `Eric Andrew Lewis`) to choose a library and discuss details. You will research a library that is not your own, to inspire a bit of cross-project collaboration. After you’re done, we’ll reach out to the author (if they’re willing) and have them review it and edit if necessary.

#options-meta

Metamorphosis Team Update

Today, the Metamorphosis team hosted developers of existing Post MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. libraries to talk about of some of their features and design pattern choices. This continues the research phase of this project. We should simmer on the features and design patterns that these authors bring up. Feel free to reach out to other developers in the group to discuss particulars, however we won’t as a group be opening up a discussion on APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. specifics. At least not now. These presentations should provide us a cornucopia of food for thought, drawing from other developers’ experiences, who have already been working for years of their lives in the area.

We used Google Hangouts, so the videos are now available on Youtube. Scott put them into a playlist if that rocks your boat.

Matthew-Haines Young on Humanmade’s version of Custom Meta Boxes and Fields

Austin Smith on Field Manager

Gijs Jorissen on Cuztom Helper

Julien Lambe on Themosis

Scott Kingsley Clark on Pods

At our next meeting (December 10 2013 2PM EST) we’ll hear from Justin Sternberg about CMB, Mike Schinkel about Sunrise, and Herb Miller about OIK. After that, we’ll plan some open discussions about the nitty-gritty of features and design patterns we’ll employ in our pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party.

#options-meta