How to integrate my own app in elgg - elgg

I would like to create a new widget(quiz) in Elgg where I can put my own content. I would like to have there all the default menus, etc. but with empty space where I can put my code.
The user should be able to view only their quiz based on the login. Should it be done as a new plugin? If yes, how to create empty page with my current template settings?

Related

How to add custom master page options to the Kentico new website wizard

I'm in the process of building a new website and I am making use of the Kentico new website wizard.
On step 5, you get to select a master page. Currently I see 2 default options.
How am I able to add my own custom master page that I created and saved in the CMSTemplates folder?
Any help would be great.
Thanks
After you created the template in CMSTemplates - I assume it is ASPX template, have you registered it in Kentico as master page template? If not, please see the documentation on creating ASPX templates.
It really does not matter. You can go with default blank master page or any other option and later on you can change it. After creating a site you will end with one root element in the tree and the master template assigned to it (the one you chose in the wizard). Now you can change your master template: go to page templates and create a new one, then go back to the root page and go to root page properties/template and assign the one you created.
This root master template is not some "read only? frozen forever" thing. You can change it to different one at any point at time.
P.S. If you want your template appear in the site wizard - just create it in advance, mark it as master template and it will appear.
There are two things required to do.
Put the newly created template in the "Templates" folder then run an insert statement in SQL to "register" the template so that it will show up when in Kentico when you want to create a new site from the internal web templates.
This is how I did it.
In order for the user to click to add a new website so that our new custom website template is displayed in the list of websites,we need to add this information to the CMS_WebTemplate database table so that Kentico can map or “register” the physical path to the custom website template.
The script is as follows:
INSERT INTO CMS_WebTemplate
SELECT 'New Site For Testing',
'~\App_Data\Templates\BlankNewSite',
'{$webtemplate.blanksite.description$}',
NEWID(),
GETDATE(),
'BlankNewSite',
10,--order of the website template so you need to look for the last digit and increment by 1
'F;B;N;X;V',
'a928c1d2-1bcd-459c-abcb-9f5a08978017', --default web thumbnail id for the blank site
The Blank New Site for testing provides a template for creating new websites from scratch, based on the portal engine.'
Now, the user will be able to create a new website using the new template that was placed in the C:\inetpub\wwwroot\Kentico10\CMS\App_Data\Templates directory which lives inside of the Kentico CMS web application
Steps:
1. Clone and rename existing website templates from C:\inetpub\wwwroot\Kentico10\CMS\App_Data\Templates
2. Run script in the database to map the website template and it’s physical path
3. Run wizard to create new website

Wordpress - Proper way to manage custom users

I have a site in Wordpress.
The functionality I need is such that, I can create 'users' of the site. These users have no purpose editing the Wordpress site in any way, and don't need to know we're even using the wordpress platform.
These users need to be able to edit their contact info and upload/view/swap out their own resume, using a page that I will build for them (not the wp-admin dashboard in any way). This resume will be PDFs and WordDocs.
At first I thought I'd just use the built in Wordpress Users and Roles that Wordpress offers. However, I'm not sure how I would attach resumes to that user, and let that user edit their own resume. I know I can use the 'user_contactmethods' hook to attach basic fields. However, I'd be trying to attach a link to a file that Wordpress hosts, and would need to be able to replace that file on a whim, in php. Also, my goal is to prevent them from ever using the Wordpress dashboard or editing tools.
Next, I thought I could create a custom post type for a 'SiteUser'. That would make it easy to manage a PDF/WordDoc attached to that post type. Also, that user wouldn't have any way to access the Wordpress stuff. Before I do that though, I wanted to ask on here if this really is the right way to do this.
This solution feels hacky.
Can I get some proposed solutions to this problem that could be perceived as 'the proper way'?
Thanks
Here is a rough idea of what you are looking to do.
Step 1
Create the user role for these new users
Step 2
Set the permission for them and disable backend access and redirect all access of those roles to a custom page /account/
Step 3
Use Advance custom fields plugin to create some custom fields on the user meta. (text, file, image)
Step 4
Apply some login logic/form and Link to a /account/edit-info/ custom page with the acf frontend form. https://www.advancedcustomfields.com/resources/create-a-front-end-form/
Step 5
Use these info to display somewhere on the /account/ page
Optional
Using gravity forms instead to manage user data entry gives better control but requires more coding, and a better user experience.
Front-end Admin Steps
Repeat Step 1-2
Loop site user and list them and their custom field files Have a button that opens a Gravity form with the user ID text field pre-populated and hidden, and have a file uploader element.
Add backend hooks after validation directly replace the user meta
containing the file path or ID (however you choice to store it in
Advance custom fields)

let wordpress create new page with users content

I am wondering what would be the best way to let wordpress create idivual pages :
the project is as followed :
User makes account
Wordpress creates account and an account page, this page however is completely different from the wordpress theme. (easy i know, You could compare it with a profile page for the user but with much more content to fill in)
after user has filled in additional content wordpress should create the new page with the specific page design. Users should be able to edit content afterwards. Paying users should be able to export the generated page. Pages should be visible for public and be like domain.com/user
I am not sure how the best approach would be for this project as i am not that familiar with wordpress. My first thought is trough a childtheme, but im not sure if this would work.
Any advice?
Kind Regards
Try BuddyPress, this is exactly what it is designed for.

Uploading images through dashboard page

I have add some dashboard pages to my conrete5 install. One of pages has a form that needs allows the user to upload an image. Are there any libraries for uploaded images of shall I do it in native PHP? I found this in the documentation but I don't think its what I want.
I thought I'd ask before I started and to see if anyone else has done anything like this before
I would recommend making use of the built-in Asset Library helper. This will add a field to your form that allows the user to access all of the images in your site's File Manager, and upload a new image if necessary. Here's the relevant page in the concrete5 documentation.
Let's say you wanted to add a field to your form called "photo". Here's an example of what you would add to the part of your dashboard page's view where the form is rendered:
$al = Loader::helper(‘concrete/asset_library’);
$al->image('photo', 'photo', 'Select a photo', $photo);
In this case, $photo is used to represent the currently-selected image, if known.

Drupal 7: Adding a 'Add New Listing' (Create Content) Link on Local Tasks Menu

I am working on making user pages for a certain type of user who can add/edit/delete content on my Drupal site. I've figured out how to use Views to create a 'Manage Listings' tab which appears on the user's profile, now I need to make another Local Task tab (or any kind of link) that allows the user to add new content.
I tried just adding a header to the view using basic markup text that contains:
Add New Listing
But because the link is displayed from the 'users/admin/' page, the link ends up bringing them to 'users/admin/node/add/' which doesn't exists (obviously). How can I create a create content link without messing up the path?
Below is a visual for help:
Please excuse the fact that this is a very simple question - this is my first attempt at building a Drupal site.
use /node/add instead because then it is relative to url instead.

Resources