Download the PHP package k1sul1/wp-libre-formbuilder without Composer

On this page you can find all versions of the php package k1sul1/wp-libre-formbuilder. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package wp-libre-formbuilder

dead plugin

This was a prototype which could've been a fully functional visual form builder. It was a bit too ambitiuous, and edge cases and the aholes at wp.org Plugin Review Team killed it.

If I were to start from the beginning, I'd build the components from React, and not HTML with hacks. Fields like select can get quite a bit more complex than just a few options. I might've forgotten the existence of optiongroup etc when building the prototype, and pretty much everything is based on the idea that you have elements which can take one children.

See limitations below if you're curious on why this isn't as easy as I thought it would be.

Screenshots

How does it work

Think of it as a preprocessor for WP Libre Form. It provides some built-in building blocks, and lets you create block from any* HTML. See Limitations.

All of the standard features should work just fine. Dynamic values? Check. Multilinguality support with Polylang? Check.

Terminology

It's easy to get confused on what word means what. Hopefully this will help.

Limitations

Turns out that working with arbitrary HTML is pretty hard. Especially if it has to be user editable. The HTML spec doesn't make things any easier. Things like <textarea> accept a default input value as a child, in addition to supporting the value attribute. <button> doesn't accept the value attribute, and instead renders any HTML inside it.

These are the limitations at the moment. Some might be permanent, but most likely everything is fixable. It's just this limited amount of time, resources and motivation I have that limit my ability to fix said limitations.

Is something missing from this list? Add an issue or send a PR with it added.

Nested HTML tags inside field do not work

Example:

div.test just magically disappears. Fixing this probably requires recursion and there's already plenty of it in the codebase. This will most likely be fixed in the future, if you've ideas on how, please contribute.

This is a real problem with things like <select> inputs.

Workaround: You tell me. Dynamic values feature of WPLF?

Only the first HTML tag is customizable inside field

Related to the previous limitation, but is also a design decision.

You can edit the class and doge attributes, but you have no control over the element with the class wplfb-child-container.

This will probably stay like this forever, for a couple of reasons

  1. It increases the cyclomatic complexity of the codebase by a fucking lot
  2. It's an UI nightmare
  3. It can be worked around

Making changes to fields don't sync to forms

This is pretty much a design decision. When you've added a field to a form, it will render the same way every time, even if you make changes to the underlying field object.

Example:

  1. Add wrapper field to form
  2. Edit wrapper field and add a new attribute to it
  3. Save the form

The wrapper field in the form will not contain the new attribute.

Possibly fixed in later versions by adding a sync button to forms or invidual fields.

This is to make sure that updates to this plugin can change the defaults and not break anything.

Workaround: Add a new field, select the same type, add the attributes, delete the old field.

How to add fields

The easy way

Using wp-admin: /wp-admin/post-new.php?post_type=wplfb-field

Follow the instructions in the Field metabox.

Using PHP

This assumes that you're running the latest version of WP Libre Form.

Wrapper fields

Sometimes you want to nest fields, or group them in logical sections. Wrapper fields allow you to do just that. They're normal fields but they don't contain any inputs themselves, usually.

The class wplfb-child-container is mandatory.

Templates

In addition to having wrapper fields, you can provide a template that wraps your field. Useful for adding boilerplate around the inputs allowing you to utilize the power of CSS frameworks like Bootstrap, Foundation, or Pure. Templates can't have configurable parameters. But you can probably use wrapper fields to achieve that and live.

The class wplfb-field-container is mandatory.

Hold up. Templates and wrappers look like the same to me?

Indeed they do, but they're not. Templates can't contain multiple fields, as in, they can't have children. When you use templates, the tag you used for the template is discarded and a field takes it's place, but when you use wrapper fields, you can put any field inside it and the wrapping element is preserved.

FAQ

Why no drag & drop?

DnD interfaces are often tedious to use. Sure, they work great on desktop, when there's one level, but complex forms may have any number of levels. Using mobile devices with limited screen space makes it spectacularly easy to ruin everything misplace elements.

By not relying on DnD the code stays relatively simple, and works on every device. The current move controls should feel intuitive, and after adding keyboard shortcuts everything should be a breeze.

If there's demand, drag & drop controls might be implemented, there's nothing in the code preventing that from being done.


All versions of wp-libre-formbuilder with dependencies

PHP Build Version
Package Version
No informations.
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package k1sul1/wp-libre-formbuilder contains the following files

Loading the files please wait ....