Skip Navigation

[Resolved] Manufacturing products Intranet, issues with content re-use

This support ticket is created 6 years, 9 months ago. There's a good chance that you are reading advice that it now obsolete.

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

Sun Mon Tue Wed Thu Fri Sat
- 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 -
- 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 -

Supporter timezone: Asia/Hong_Kong (GMT+08:00)

This topic contains 2 replies, has 2 voices.

Last updated by joshA-5 6 years, 8 months ago.

Assisted by: Luo Yang.

Author
Posts
#649768

I've been struggling to setup Toolset for my employer, where we wish to use it for our manufacturing Intranet. I'm first going to explain what we're trying to do, and then what has been done and where the issues are encountered. Note that I'm going to be using non-Toolset terminology unless I specify otherwise.

---------------

Each product has various kinds of components, and different departments handle these. These components see re-use across several products, and we need to be able to update the reference material once to affect all products using it. A basic example, where each instance of part A is identical, each instance of part B is identical etc, would be:

Product 1 uses components A, B, F, G, H.
Product 2 uses components A, C, F, G.
Product 3 uses components D, F, I.

There are different types of components for each department (Lab deals with boards, Machine Shop deals with parts, Wood Shop deals with cabinets, etc). This complicates the previous example and changes it to:

Product 1 uses boards A and B, Parts F, G, H.
Product 2 uses boards A and C, Parts F, G.
Product 3 uses board D, Part F, Cabinet I.

Each type of component has different kinds and quantities of stored entries, so it's not enough to use a common component template and specify the type within an entry. These entries are mostly links to files, but there's also textual, numerical, and date entries. Some entries would need to be able to store multiple values. File links need to support file uploading in the add/edit form.

Here's some mockups for component data entry:
- Adding a component of the type board hidden link
- Adding a component of the type hidden link

I would consider the above to be the backbone for data storage.

Moving on to the individual products, we need the same data to be usable in four different layouts, without any duplicate data entry or storage.

These "layouts" are:
- Full product overview hidden link
- Department-specific product overview hidden link
- Product browser hidden link
- Department-specific product browser hidden link

In regards to data entry, here's some mockups which I hope convey the intent:
- Adding a product hidden link

In "Full product overview": everything above the word "LAB" would be data stored in the product entry. Everything after the word "LAB" but before the words "MACHINE SHOP" would be loaded from the components of the type board. The Product entry would specify which components of this type it uses (i.e. Product 1 uses component:board A,B), and then populate the list based on that. Everything after the words "MACHINE SHOP" would be loaded from the components of the type parts. The Product entry would specify which components of this type it uses (i.e. Product 1 uses component:part F,G,H), and then populate the list based on that.

In "Department-specific product overview": This would work much the same as the "Full product overview", but it would only load components for the specific department. The information at the top of the page would also be loaded from a mix of the department's specific entries & the general entries for that product.

In "Product browser": This would produce a list of products and all of the referenced component entries.

In "Department-specific product browser": Same as "Product browser", except only listing referenced components of a specified type.

In "Adding a product": At this stage, we require an addition to the reference of components: Some types of components (parts, in this instance) need to have a numbered order within the product. i.e. Product 1 uses component:part G,H,F as a custom order, instead of ascending (H,G,F) or descending (F,G,H) orders. Note that this custom order is per component-type. An order of 1 should not make part G come before board A.

---------------

Now onto what's been done so far, and the difficulties faced.

The following has been implemented, using the Layouts, Types, and Views plugins:
- products (as post type)
- boards (as post type)
- parts (as post type)
I have since added Access and CRED plugins.

The problem I am having is in referencing the boards and parts a product uses, and limitations on repeating form fields. Unfortunately I am unable to share the actual WordPress site since it's hosted for internal use only.

#651737

Hello,

Q1) For the question:
The problem I am having is in referencing the boards and parts a product uses

I assume that:
a) one "board" post can connect with multiple "product" posts
b) one "product" post can connect with multiple "board" posts

If it is, you can try to setup many-to-many relationship between post types "board" and "product".

Same as above, if you can setup many-to-many relationship between post types "parts" and "product"

Q2) For the question:
and limitations on repeating form fields
What kind of limitations are you talking about?
As I know, when you edit a parent post, there is a limitation in child post type relationship section, it can not display the multiple instance field, but you can edit each child post, and setup it's custom fields values, including multiple instance fields.

#773315

I'm sorry it took me this long to get back to you, It's a struggle to find time to even work on this project. I've installed the beta plugins for the upcoming releases and have got the Many-to-Many relationships working. However, I have not been able to find a way to manage these relationships through the CRED plugin. The method described in https://toolset.com/documentation/post-relationships/how-to-build-front-end-forms-for-connecting-posts/ doesn't appear to be suited to Many-to-Many relationships. Toolset does not, at this time, appear to be well equipped for our purposes. Everything I can find on how this would be done appears to force the process to be broken down into the smallest possible steps (e.g. an entire form just to create one connection, instead of being able to create the connections when adding products). For the scope of our project, this is not an acceptable compromise, as it will significantly increase the amount of time for data entry (thousands of components with relationships to hundreds of products).