Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

need a macro I can put an HTML macro in and controll user visbility

Butch_Richards
Contributor
July 17, 2024

any known macro to set what users can see contents in it  ...... Like pannel that I can put an html macro in but only let certian users see it.

3 answers

1 accepted

0 votes
Answer accepted
Kristian Klima
Community Champion
July 17, 2024

Hi @Butch_Richards 

You're looking for conditional content functionality. As far as I know, there's only one app that does that - Scroll Documents with Variants for Scroll Documents.

Variants create two or more 'variants' of your space using proprietary conditional content macro. Whatever is in that macro, is visible to whatever you define.

For example, we use it in a single space to create Public and Internal product documentation. 

Can't get more specific, or provide a more elaborate answer as I don't know the details of your usecase and your setup, so I can advise to get in touch with the vendor.

 

Another solution would be to use excerpt / excerpt include in which you'd create a page with the HTML content, apply restriction on that page, then use excerpt include on a general page with that restricted content.

As a result, the general page would be visible to everyone but only people with permission to see restricted content would see the excerpted/included section. This should work but might be complex to manage.

0 votes
Butch_Richards
Contributor
July 17, 2024

@Kristian Klima @Nicolas Grossi  no i made  a scrooling  ticker and I just want to limit who can update it 

so it is in HTML  and scrolls acros the top of a team page and I  want to limit who can update   code below if you want to drop it in a confluence page 

   

 

HTML te second div I want to limit who can see that 

 

  <div class="ticker-container">
    <div class="ticker-text" id="tickerTextdklAlQ">
        Achievements: Ismael stayed sane today with the certs
    </div>
</div>

<div class="input-container">
    <label for="tickerInput">Enter New Ticker Text</label>
    <input type="text" id="tickerInput">
    <button onclick="updateTicker()">Update Ticker</button>
</div>
 

 

<style>

        /* Ticker container style */

        .ticker-container {

            width: 100%; /* Full width of the container */

            overflow: hidden; /* Hide overflow content */

            background-color: #006400; /* Background color in hex */

            color: #ffffff; /* Text color */

            border: 1px solid #ffffff; /* Border style */

            box-sizing: border-box; /* Include padding and border in element's total width and height */

            height: 50px; /* Fixed height for the ticker */

        }

 

        /* Ticker text style */

        .ticker-text {

            display: inline-block; /* Allow the text to flow inline */

            white-space: nowrap; /* Prevent line breaks */

            padding-left: 100%; /* Start text off-screen to the right */

            animation: scroll-left var(--scroll-duration) linear infinite; /* Continuous scrolling animation */

            height: 100%; /* Full height of the ticker */

            line-height: 50px; /* Align text vertically */

            font-size: 20px; /* Font size */

            text-align: center; /* Center the text */

        }

 

        /* Keyframes for scrolling effect */

        @keyframes scroll-left {

            0% {

                transform: translateX(100%); /* Start off-screen to the right */

            }

            100% {

                transform: translateX(-100%); /* End off-screen to the left */

            }

        }

 

        /* Input container style */

        .input-container {

            margin-top: 20px; /* Space above the input field */

        }

 

        /* Style for input text box */

        input[type="text"] {

            padding: 5px; /* Padding inside the input box */

            font-size: 18px; /* Font size for the input */

        }

    </style>

</head>

<body>

 

    <!-- Ticker container -->

    <div class="ticker-container">

        <div class="ticker-text" id="tickerTextE5NgX">

            Achievements: Ismael stayed sane today with the certs

        </div>

    </div>

 

    <!-- Input container for updating the ticker text -->

    <div class="input-container">

        <label for="tickerInput">Enter New Ticker Text:</label>

        <input type="text" id="tickerInput" maxlength="350">

        <button onclick="updateTicker()">Update Ticker</button>

    </div>

 

    <script>

        // Function to update the ticker text and animation duration

        function updateTicker() {

            // Get the new text from the input field

            var newText = document.getElementById('tickerInput').value;

           

            // Get the ticker text element

            var tickerTextElement = document.getElementById('tickerTextE5NgX');

 

            // Update the ticker text

            tickerTextElement.innerHTML = newText;

 

            // Calculate duration based on text length

            var duration;

            if (newText.length > 200) {

                duration = newText.length / 5; // Adjust divisor to make it faster or slower

            } else if (newText.length < 100) {

                duration = newText.length / 2; // Adjust divisor to slow it down

            } else {

                duration = 45; // Default duration for text length between 100 and 200 characters

            }

 

            // Set the calculated duration for the animation

            tickerTextElement.style.animationDuration = duration + 's';

 

            // Clear the input field after submission

            document.getElementById('tickerInput').value = '';

        }

    </script>

 

Butch_Richards
Contributor
July 17, 2024

@Kristian Klima @Nicolas Grossi  look at my above code 

 

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events