How to hide some text on TRAC wiki-page from anonymous user? - wiki

I have a public TRAC installation, but O don't wont to show some links on
wiki-pages (except on the main) for non-logged-in (anonymous) uses.
Can I hide some text for non-logged users, using WikiFormatting tricks?

You can use some macros or plugins from the Trac Hacks site. Try out:
Protected Macro
Access Macro

Related

Wagtail page promote tab - "Show in Menu" - How does it work?

The default Wagtail page model includes the "Show in Menu" option on the promote tab. I've been searching through the documentation for awhile now trying to find more information about how this works and I don't see anything.
What is this option used for, and how do I hook into that field so that I can build a simple list of links to be used is some arbitrary template like a footer?
Am I supposed to just build my own queryset of page models and then filter on that value, or is there a simpler utility include with Wagtail that I can use directly?
This is a generic field that is available on Page models that does not do anything by default.
https://docs.wagtail.org/en/stable/reference/pages/model_reference.html?highlight=show_in_menua#wagtail.core.models.Page.show_in_menus
While the documentation is not the clearest, the only thing this impacts is whether the page is returned in in_menu() querysets.
https://docs.wagtail.org/en/stable/reference/pages/queryset_reference.html#wagtail.core.query.PageQuerySet.in_menu
As Wagtail does not make assumptions about what your frontend (front facing pages) will look like it is up to you to determine what this field means for your application.
Additional links
https://wagtailmenus.readthedocs.io/en/stable/ - a package for building complex menus within Wagtail
https://www.accordbox.com/blog/how-to-create-and-manage-menus-in-wagtail/ - good tutorial on building custom Wagtail menus
The Wagtail Getting Started section could use some information about how to use 'show in menu' to create menus. Until that gets added, try this tutorial for how to use this 'from scratch': https://www.accordbox.com/blog/how-to-create-and-manage-menus-in-wagtail/
Or install wagtailmenus per instructions in this tutorial: https://engineertodeveloper.com/wagtail-site-navigation/
(At work we built ours by hand but if we were doing it over, I would definitely look into wagtailmenus)

How to add Mura's Comment form to a Mura Template

I would like to add Mura's comment form to a template on my Mura site. However, Mura's documentation only explains how to do so page by page via the inline editor.
I have scoured the web and come up empty handed for an example of how to do this.
How to I include Mura's comment form on my templates without having to write something custom from scratch?
This is from Mura version 6.2 but it should work similarly in newer versions. After enabling the Comment module as documented here for v6 and here for v7. You just need to add the object to the layout of your page from the admin. You will find the "Accept Comments" object under the "System" content objects (see the screenshot below). Once you do that then inheritance will apply the same to any child pages and they too will have the comment option.

Kentico: Adding user control into master page header

I've been trying to find a way to add a user control into the head section of a master page template using Kentico 9.
The usual method of
<%# Register Src="~/CMSWebParts/Homepage/ucControl.ascx" TagPrefix="uc1" TagName="Control" %>
<uc1:Control runat="server" id="ucControl" />
does not seem to work. I'm assuming it's registered as a html template if anything.
Has anyone cam across this before and sorted it?
I'd like to know if this is possible and if so how it's implemented.
Yes, it supports just HTML and macros, so you can either create a custom macro that does same thing as your user control or you can place your user control to the head section of the \CMSPages\PortalTemplate.aspx template that is responsible for generating all live site pages (better option would be to clone the portal template and do the customization there to avoid problems during upgrades due to customized default file)
Option 1: Use the Head HTML webpart, if your stuff can be implemented in this way.
Option 2: Write macros in the masterpage layout - this works if you don't mind doing it on each master page.
Option 3: Write a webpart that instances the control then attaches it to the head. You can put this webpart into the page template that relies on said master. Your codebehind will have to move the user control to a new parent.
Option 4: Modify PortalTemplate.aspx
You can put whatever you like here, but it will make hotfixes more difficult. If you're just adding a single user control this may not be a problem.

Need help setting up editing template

I have just started working on a wiki where I want registered users to be able to post stuff. I want to have a link on the site which says something along the lines of
"Create new Entry" which when clicked will take the user to an editing template. When the user is done filling in his information and clicks the save button I want that information to be saved in an own page.
My question: What is the approach to achieving something like this?
tag:MediaWiki 1.19.2
PHP 5.3.14 (apache2handler)
MySQL 5.1.63-0+squeeze1-log
There are many URL parameters for editing pages which can do what you want, especially affecting the edit form. There is also an explicit Manual on creating pages with preloaded text, which includes a list of helpful extensions to do such tasks.
I used MultiBoilerplate for this. This extension is very useful because users can select from a drop down list of templates for various pages which can contain default text which users themselves can define.
Tip: if you use the option:
$wgMultiBoilerplateOptions = false;
in LocalSettings.php then administrators can add new templates via the wiki (so without having to change any configurations in php).

Include a page in the template script in magnolia cms

How can I include a page from magnolia into a magnolia template script?
In the template script with I can access data from a specific page, but how can I load that page into the template?
Let's say I have 2 pages each with its own template. Page 1 contains in its tree page 2. I want to include in the template script of page 1, page 2, but doesn't work.
Thank you very much :)
UPDATED
What I actually want to do is include my header in all of my project's pages. But I don't want to put it as a paragraph, because if I ever want to change my header, I'll have to edit all the project's pages.
So what I try to do and I don't know if this is the correct approach is to create a page template for the header. This template won't include any , or css, it's just the code for the header.
The next thing I want to do is create a page in magnolia with that model to be the header.
Next I'd like to include the page I've just created in my main template model for the project, but I can't figure how to do that.
I am new to Magnolia cms and initially I tried creating my demo site using stk. The only problem was that I couldn't use jsp as a scripting language, or at least I couldn't find any solution on the internet. I don't really know freemarker, but that's not really a big problem. I'm really reluctant in using freemarker because maybe in the future in a more complex project I might need some features that freemarker doesn't support, but jsp does. I'd like to build my site using jsp if that's possible with magnolia.
I'm sorry for this long update, but if anyone has any suggestions on what a best practice could be and if I could implement what I want in jsp I would be really grateful.
Thanks again for you time :)
If you're using the STK then see this guide on content-reuse.
If not have a look at the cms tag-lib, especially the tags cms:loadPage and cms:setNode with which you can get a piece of content and set it as a JSP/JSTL variable and then render it using cms:includeTemplate.
A common scenario is to 'inherit' content from the parent page, the header is an excellent example of this. What you do is for an area you walk up the content hierarchy and render everything from the parent pages in their area with the same name. This way the header which you've only added to the top page is included in all its children.
Another option is to a have special page which simply holds things to be included in other pages. Like header, footer and banners that should go in the side pane of some pages.
Including a page within another page doesn't really work. Page 2 already has its own <html> tags, its own <script> tags, and its own CSS, so including it wholesale into another page just simply doesn't make sense.
You do, however, have a couple of options:
Use an iframe. This will allow you to include the entirety of Page 2 in a region of Page 1.
More recent versions of Magnolia will allow you to render an individual paragraph, which you could then include in another page. (For example, you can see a single paragraph from http://demopublic.magnolia-cms.com/demo-project/about/subsection-articles.html at http://demopublic.magnolia-cms.com/demo-project/about/subsection-articles/article/main/0.html.) This requires knowing a bit about the way the data is structured, but is a pretty useful way to be able to selectively extracts bits of a page.
You can use the Magnolia API in your model class to pull data from sub-pages, and then make it available to your view template. This is the approach the STK uses to build teasers that include content from the pages they reference, and is probably the most powerful and flexible approach, but it does require actually writing some Java code. (See http://documentation.magnolia-cms.com/templating/stk/templating.html and http://documentation.magnolia-cms.com/reference/templating.html for details of how to use this approach.)
(Added after question was edited) The footer functionality that's included with the STK does almost exactly this. You might be interested to take a look at that and see how it's implemented there.
Hope that helps a bit!