1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. This forum has been archived. New threads and replies may not be made. All add-ons/resources that are active should be migrated to the Resource Manager. See this thread for more information.

Data Driven Pages

Discussion in 'Add-on Requests [Archive]' started by Ryan Kent, Jul 9, 2011.

  1. Ryan Kent

    Ryan Kent Well-Known Member

    I need a solution for data driven pages. I am willing to offer some financial support, along with any effort I can provide.

    The solution should be generic. I'll use Amercian Football as a reference for examples, but the data could be almost anything from cars, business names, etc.

    Page Type 1 - Create Support table (admins only)

    A simple interface would be created to allow admins to create tables and fields in XF. Personally, I would be happy to skip this step but then admins would need to manually create tables and link each one with this add-on, along with ensuring the data types are mapped correctly. It would be best if the add-on performed this function to avoid a variety of issues.

    Example tables:
    Person - this table would offer two fields, id and type. It would be used to declare the type of "person" we are collecting information about. Possible selections: players, owners, trainers, coaches, officials,

    Teams - this table would list of all teams. Miami Dolphins, Dallas Cowboys, etc. or it could be "none" for league officials and other support personnel.

    Page Type 2 - Data Entry (admins and trusted members)

    Person's Name - text field
    Person Type - drop down box linked to the Person table mentioned above
    Team - drop down box linked to the Teams table mentioned above
    Date of birth - date field
    etc.

    Once the data is complete, it would be submitted as a single record in a table. Basic validation would need to occur to ensure no duplicates of certain fields or combinations. A new page would become immediately available on the site, based on this record.

    This page, or another similar page, should allow admins to recall and modify existing records.

    Page Type 3 - Web pages

    Each record would then appear in a web page based on a template designed to display the data. This page should have a configurable URL based on the data. For example /dallas/troy-aikman could be a page for Troy Aikman from the Dallas Cowboys.

    These pages would appear as static content to viewers.

    Further enhancements and flexbility.

    1. For the "Teams" table, the admin may later decide to add a 3rd field to the table offering abbreviations. It could be DC = Dallas Cowboys, or "Dallas" or "Dal", at the admins discretion.

    2. The system could be expanded beyond the NFL. The desire to add the Canadian Football League could be presented. Then a "League" table would need to be created. This table would have two fields, league and id. The "Teams" table would then have a league field added which would be linked to the league table.

    3. A historical record of pages could be kept in a similar manner to wikepedia. Records could be viewed before each alteration, and changes could be reverted by admins.

    4. Add comments to web pages.
     
    Akela and Veer like this.
  2. RobParker

    RobParker Well-Known Member

    Is this not effectively custom thread fields?

    I really think custom thread fields would be an amazingly powerful tool and could easily see how you could set up the above using them (we'd use it for something similar but for soccer).

    You'd have a Forum Category called NFL. Then you'd have a sub-forum for either each team or each position or whatever. Then you'd set your custom thread fields to for the data entry you describe in Page Type 2.

    The styling of the subforum could then be done to make it all appear like you want.
     
  3. Ryan Kent

    Ryan Kent Well-Known Member

    Nothing remotely related to custom fields. This is not for threads. These will create pages, and is more of a CMS type of add-on with no relation to forums in any manner.
     
  4. RobParker

    RobParker Well-Known Member

    Custom thread fields and a custom style would create exactly what you're talking about though and it'd have the benefit of being part of the core.

    Your style need look nothing like a thread, it'd just pull out the custom field information and display it how you want to.

    As I said, custom thread fields (along with some good styling) would be amazingly powerful.

    If you're not convinced once custom thread fields are possible I think someone could easily do this as a proof of concept.
     
    ankurs likes this.
  5. Ryan Kent

    Ryan Kent Well-Known Member

    Even if you are correct, custom thread fields are not currently a part of xF, nor are there any announced plans to add it to the system. Hence, the add-on request.

    For my needs, I do not require any interaction with forum threads. The usage described would happen entirely on new pages. I understand your desire for custom thread fields, and I noticed your post in the custom field request thread. I have added a post there as well. You are taking this request for a new add-on and slanting it to your desire for a new xF feature.
     
  6. RobParker

    RobParker Well-Known Member

    Fair enough, we'll agree to disagree and I hope you find a solution :)
     
  7. SubdreamerCMS

    SubdreamerCMS Member

    Subdreamer CMS has a Form Wizard plugin which allows you to create custom forms for collecting data from users.. it then can send the information to email or database or both. Once the information is in the database, you'd have to create your own plugin to view/manipulate/interact/output that data. We are also working on an advanced user system that will have unlimited custom fields. my team, my fav player, my car, model, etc., and that information will be configurable by the admin to either show on registration form, show on user profile page (can be mandatory/not mandatory for updating profile) or it can also be configured as a hidden field.
     

Share This Page