Uploaded image for project: 'In-Portal CMS'
  1. In-Portal CMS
  2. INP-851

Ability to access Disabled Section with Direct Link

    XMLWordPrintable

    Details

    • Type: Feature Request
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 5.1.2
    • Fix Version/s: 5.2.0-B1
    • Component/s: Data Management
    • Labels:
      None
    • Additional information:
      Hide

      [B]From technical viewpoint it will be pretty easy to implement:[/B]

      1. create 2 fields in a Category table: DirectLinkEnabled (Yes/No) and DirectLinkAuthKey

      2. when someone enables direct link functionality (on category/section editing page), then:

      • random alpha-numeric string will be generated and stored in category/section record
      • link to that page with freshly generated authentication key will be displayed

      3. in checkItemStatus method (where check is made to prevent viewing Pending/Disabled categories/sections) also check is authentication key is present in url and it matches one from current category/section record

      4. if all matches, then show category/section and don't redirect to "no permission" page as usual in this case

      Show
      [B] From technical viewpoint it will be pretty easy to implement: [/B] 1. create 2 fields in a Category table: DirectLinkEnabled (Yes/No) and DirectLinkAuthKey 2. when someone enables direct link functionality (on category/section editing page), then: random alpha-numeric string will be generated and stored in category/section record link to that page with freshly generated authentication key will be displayed 3. in checkItemStatus method (where check is made to prevent viewing Pending/Disabled categories/sections) also check is authentication key is present in url and it matches one from current category/section record 4. if all matches, then show category/section and don't redirect to "no permission" page as usual in this case
    • Change Log Message:
      Ability to access disabled section with direct link
    • Story Points:
      1
    • External issue ID:
      1050
    • Copy Issue Key:
    • Patch Instructions:

      Patches must be submitted through Phabricator.

      Description

      Often these days we need to have an ability to access a disabled Section or Category Item on the Front-end without having it shown in the list among other Enabled Sections or Category Items.

      There is a beautiful solution that Google Picasa has for this - Direct URL which contains some "key" for authenticating the user and showing him hidden by default content.

      [B]Example:[/B]

      https://picasaweb.google.com/dandrejev/MaksikGitara?authkey=Gv1sRgCJeZqfiPxL271

      I propose we implement the same for Section (later for Category Items).

      [B]Interface:[/B]

      1. If Status is Pending or Disabled we show a new "Access with Link" field right after (below) that Status field
      2. New "Access with Link" field will have a Check-box (enabled by default) and a Label field (which can be copied) with full URL to that Section.

      [B]Functionality:[/B]

      1. We would need to have 2 new DB fields ( in Categories table (and later for Category Items) to store the Status and the Authentication Key. I suggest calling them as AllowAccessWithLink and AuthKey, but I am insisting on these names.

      2. Let's use some random Alpha-numeric (case sensitive) algorithms (nothing fancy) to generate (automatically) and save this keys. Keys will NOT change! Suggested length 15-20 chars.

      3. One of hard questions is - which of the URLs to show:
      a. with ModRewrite or without - I believe it should be based on current website settings
      b. which language - default one for Front-end

      4. Need to make sure if In-Portal performs a URL redirect due to forcing the HTML URL when user visits without one we need to keep AuthKey in URL as well.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                !COMMUNITY !COMMUNITY
                Reporter:
                dmitry Dmitry Andrejev [Intechnic]
                Developer:
                Alex
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: