Giter Site home page Giter Site logo

dnnsoftware / dnn.adminexperience.extensions Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 21.0 30.37 MB

Admin Experience in DNN Platform

Home Page: http://www.dnnsoftware.com

License: MIT License

C# 30.62% HTML 0.68% CSS 8.66% JavaScript 60.04% Batchfile 0.01%
dnn dnncms dotnetnuke

dnn.adminexperience.extensions's People

Contributors

aliazizoglu avatar amarjit-dhunna avatar antoniodgonzalez avatar ashishpd avatar bdukes avatar cbpsc avatar danieldram avatar danielramdnn avatar david-poindexter avatar dnndev avatar donker avatar emac80 avatar fjlucas avatar francescorivola avatar galatrash avatar jsmontesinos avatar mean2me avatar mitchelsellers avatar mohtshum avatar ohine avatar pberna avatar pterenin avatar ricardodiasc avatar scullman avatar tpluscode avatar valadas avatar vano-maisuradze avatar zyhfish avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dnn.adminexperience.extensions's Issues

Engage - Pages - Viewing Analytics - On click, no action is performed

Steps to reproduce

  1. Open Persona Bar > Pages
  2. Click on published, visible page in the tree view
  3. Hover the mouse over on ellipsis icon
  4. Click on Analytics

t63587027

Expected result

Analytics section should be displayed.

Actual result

On click of Ellipsis, no action is performed

Browser console shows error when click on Analytics:

export-bundle.js?cdv=126:15 Uncaught TypeError: this.props.CallCustomAction is not a function
at t.value (<anonymous>:21:23687)
at Object.r (export-bundle.js?cdv=126:15)
at a (export-bundle.js?cdv=126:15)
at Object.s [as executeDispatchesInOrder] (export-bundle.js?cdv=126:15)
at d (export-bundle.js?cdv=126:14)
at f (export-bundle.js?cdv=126:14)
at Array.forEach (<anonymous>)
at n (export-bundle.js?cdv=126:61)
at Object.processEventQueue (export-bundle.js?cdv=126:14)
at r (export-bundle.js?cdv=126:173)
value @ VM316:21
r @ export-bundle.js?cdv=126:15
a @ export-bundle.js?cdv=126:15
s @ export-bundle.js?cdv=126:15
d @ export-bundle.js?cdv=126:14
f @ export-bundle.js?cdv=126:14
n @ export-bundle.js?cdv=126:61
processEventQueue @ export-bundle.js?cdv=126:14
r @ export-bundle.js?cdv=126:173
handleTopLevel @ export-bundle.js?cdv=126:173
i @ export-bundle.js?cdv=126:173
perform @ export-bundle.js?cdv=126:14
batchedUpdates @ export-bundle.js?cdv=126:173
i @ export-bundle.js?cdv=126:13
dispatchEvent @ export-bundle.js?cdv=126:173

Password Strength Check - User Registration

Description

  1. Log in as host
  2. Navigate to content->user->add user.
  3. Enter valid details for user.
  4. Type the password

Actual Result

Password strenght check meter does not appear

Expected Result

Password strenght check should appear.

Note: When user registering via home page -> register password strength check appears.

Delete-page command deleting the page which does not belong the portalId parament pass for api call

Steps to reproduce

  • Login as host.
  • From PB, Go Manage, sites.
  • Add new child site (site2) (Will get ID=1) with type Domain (yourMainURL/site2)
  • Login to the child site, add new page (In my case it has ID=52).
  • Use fiddler
  • Pass the url of you main site +"/API/PersonaBar/Command/Cmd/0" as POST (This targets scripting over the main site with id=0)
  • Add all required headers (From the main site's instance)
  • Pass this in the request's body: {"cmdLine=Delete-page 52"}
  • Execute the request.

Actual Result

Page successfully deleted

Expected Result

Should show error message like page not found

Can't change host email in Dnn 9

This issue was moved here because it is only a UI issue, it was originally at dnnsoftware/Dnn.Platform#2050

In previous versions of Dnn, there was a setting in Host Settings to set the host email. This email was used when testing the SMTP server settings. So when testing the emails, users do not receive the email since they don't have access to [email protected] (the default on new installations)

Also, some modules may use that email address to notify the host, so people changing their email and not having control over this, stop receiving those notifications.

I think this could be added in Settings -> Server Settings -> SMTP Server

In the database, this is stored in HostSettings Table with a SettingName of HostEmail

Prompt: No OK message Returned by the API or Displayed after some specific commands

Steps

  • Login as host
  • From Persona Bar, go to settings>prompt.
  • Type: get-page 22.
  • Press enter.
  • Notice the result.
  • Repeat with running these commands: get-page, get-task, get-host, get-portal, list-sites, list-portals, get-task, get-role, get-module

Result

These commands API doesn't return OK message to be displayed. (Note OK message some times display the paging hints)

Expected

These commands should return OK message and display it in the response (In case of success) to be consistent with the rest of commands that were addressed in #414/#415

Affected version

  • 9.2

Remove "setTimeouts" wrapping "setState" in PersonaBar SiteSettings module

Description

PersonaBar's module "SiteSettings" is based on React/Redux.
There are several setState calls wrapped by setTimeouts.
It could create unpredictable behaviors and UI refresh overhead.

Current behavior

  • Application bootstrap wrapped by a setTimeout in main.jsx
  • setState calls wrapped by setTimeout

Expected behavior

  • React's application bootstrap must happen in a synchronous way to avoid unpredictable currency issues
  • setState calls shouldn't be wrapped by setTimeout calls. It causes unpredictable behavior and concurrency issues, since React cannot manage DOM in an optimized way.

Remove development code from SiteSettings module

redux-immutable-state-variant should be use only in a development environment.

Using in a production environment it could seriously impact performances because of many deep object copies performed in the code.

There is also a TODO comment in the current source code: https://github.com/dnnsoftware/Dnn.AdminExperience.Extensions/blob/f5a1b3c7964d432c49611d7a4d136f7edafa5bbf/src/Modules/Settings/Dnn.PersonaBar.SiteSettings/SiteSettings.Web/src/store/configureStore.js

Actual behavior

redux-immutable-state-variant npm module is used both in development and production code

Expected behavior

redux-immutable-state-variant should be used conditionally only in DEV environment

Set-page working regardless of the CrossPortalId specified as parameter

Description

Set-page is not working as expected behavior when passed with portalid.

Steps to reproduce

  1. For some platform installation (DNN_Platform_9.2.0.323-661).
  2. Login as host.
  3. From PB, Go Manage, sites.
  4. Add new child site (site2) (Will get ID=1) with type Domain (yourMainURL/site2)
  5. Login to the child site, add new page (In my case it has ID=52).
  6. Use fiddler
  7. Pass the url of you main site +"/API/PersonaBar/Command/Cmd/0" as POST (This targets scripting over the main site with id=0)
  8. Add all required headers (From the main site's instance)
  9. Pass this in the request's body: {"cmdLine=set-page 52 --title setpagedemo "}
  10. Execute the request.

Actual Result

Success message

Expected Result

Should show error message

Logout and page

When clicking on logout (personabar), nothing happens (there is a web api request made).
I think its better to refresh the page after logout (response of 200).

Prompt Set-user: Firstname and LastName shouldn't be mandatory

Step to reproduce

  1. Open DNN platform as superuser
  2. Open PB > Settings > Prompt
    3, Write down help set-user
  3. validate that first name and last name are not mandatory fields
  4. Write list-users and capture valid userId
  5. write down set-user --id capturedIdFromStep5 NewValidName
  6. Press enter key

Expected result

User updated successfully
No errors shall appear to the user

Actual results

Mandatory validation messsage appears to the user indicating first name/last name are required

"restore-page" is working regardless of the CrossPortalId specified in rest request

Steps to reproduce:

  1. For some platform installation (DNN_Platform_9.2.0.323-661).
  2. Login as host.
  3. From PB, Go Manage, sites.
  4. Add new child site (site2) (Will get ID=1) with type Domain (yourMainURL/site2)
  5. Login to the child site, add new page (In my case it has ID=52).
  6. Use fiddler
  7. Pass the url of you main site +"/API/PersonaBar/Command/Cmd/0" as POST (This targets scripting over the main site with id=0)
  8. Add all required headers (From the main site's instance)
  9. Pass this in the request's body: {"cmdLine=restore-page 52"}
  10. Execute the request.

Current behavior

Page restore successfully regardless the poratalid parameter passed

Expected behavior

Page should not be restore as corresponding poratalid does'nt have the page

Purge command working irrespective of passed crossportal id for rest request

Steps to reproduce

  1. Login as host.
  2. From PB, Go Manage, sites.
  3. Add new child site (site2) (Will get ID=1) with type Domain (yourMainURL/site2)
  4. Login to the child site, add new page (In my case it has ID=52).
  5. Use fiddler
  6. Pass the url of you main site +"/API/PersonaBar/Command/Cmd/0" as POST (This targets scripting over the main site with id=0)
  7. Add all required headers (From the main site's instance)
  8. Pass this in the request's body: {"cmdLine=purge-page 52"}
  9. Execute the request.

Current behavior

Page with id "52" purged successfully.

Expected behavior

Page not found

Prompt: Cross-portal scripting: "set-user" is not working with anything other than the main site (To be general, the site in the URL))

Steps to reproduce

  1. Login as host.
  2. From PB, Go Manage, sites.
  3. Add new child site (site2) (Will get ID=1) with type Domain (yourMainURL/site2)
  4. Login to the child site, add new user; usery (In my case it has ID=5).
  5. Use fiddler
  6. Pass the url of you main site +"/API/PersonaBar/Command/Cmd/0" as POST (This targets scripting over the site with id=0)
  7. Add all required headers (From the main site's instance)
  8. Pass this in the request's body: {"cmdLine=set-user 5 username useryyy --firstname usery --lastname useryyy "}
  9. Execute the request.

Current behavior

Successfully saved user.

Expected behavior

User not found or similar message

Suspected regression on PB -> SiteSettings

Description

In case of multiple portals, a combo should appear to allow user to manage settings across portals.
Issue appeared after installation of Evoq Engage 9.2.1 - 187.
Previous version works fine (screenshot took from 9.2.1 - 129 ).

Steps to reproduce:

  • Create a second portal, let's say Portal B.
  • Login as host to the main Portal (MyWebsite)
  • Go to PB -> Site Settings

Current behavior

The combo containing the list of existing portals is not visible any more

Expected behavior

_thumb_396011
A combo containing the list of existing portal should appear at top - left of PB view area (see the screenshot)

UI not refreshed after page editing

Description

When we create/modify page settings, nothing changes in the UI, unless we manually refresh the browser.
Pages is a React/Redux project under AdminExperience.Extensions repository. When a page is updated, changes should be dispatched and propagated to all bound properties in the UI.

Current

  • Change anything in Page Details form (example: "Display in menu switch button")
  • Save changes
  • A confirmation dialog appears, as expected
  • Nothing actually change in UI

Expected

  • Change anything in Page Details form (example: "Display in menu switch button")
  • Save changes
  • A confirmation dialog appears
  • Pages tree view and/or Page deatails form must be updated with new values

Remove redux-immutable-state-invariant from production code

As noted in #557, there a bunch of TODO items in code where a development-only component is loaded in production, which can cause performance degradation of our React components.

We should modify code so that redux-immutable-state-invariant is only ever loaded during development.

Pages: last page in the treeview shows extra white space and scroll if user enabled scheduling

The problem is that date picker reserve some space before it even appears. Moving the date picker to show on top and this should be resolved.

Steps to reproduce

  1. Open the installation
  2. Open PB > Manage > Pages
  3. in the pages options - content section
  4. Toggle enable schedule button
  5. Scroll the page and see the content and scrollbar

Expected results

page container is not deformed

Results

extra white space appears https://www.screencast.com/t/BpVHxIS7

Add validation of not letting user select blank 'Site Alias'

Description

When creating a new custom url by calling API PageUrlsController.CreateCustomUrl, we need a validation method to verify the specified PortalAlias belongs to the current Portal.

Steps

  1. Create a child site
  2. Navigate to child site
  3. Create a new page
  4. Go TO Advance > SEO of the page setting
  5. Do not select a Site Alias, leave it at โ€“ Select --.
  6. Fill out the URL path and select 301 as the URL Type.
  7. Save the URL

Current Behavior

  • System allows saving blank alias.
  • Any PortalAlias can be specified, no validation ( DNN-19496 )
  • Dirty records on TabUrls table (url aliases with wrong data cannot be found and deleted from UI)

Expected Behavior

  • If a PortalAlias not belonging to the current Portal is specified, return error
  • No dirty records must be stored in TabUrls table
  • Ideally it should not be allowed saving at all.

Site Settings: Switch Sites - Search Tab

Description

When going to Settings > Site Settings on the Persona bar the user has the option on the top left to switch sites and visit the setting for another Portal. This works for most of the tabs since it makes the right request by passing the PortalID; nevertheless, in the case of the Search Tab the request is not passing any params and it simply loads the settings for the current Portal.

To reproduce

  1. Create second Portal
  2. Go to Site Settings on parent portal, and switch to Portal 2 on top left.
  3. Go to Search Tab

Expected Result

Search tab shows the settings for portal 1.

Actual Result

It shows the portal for the current one (0)

Pages: When duplicating a page the title field is not cleared for the newly created page

Steps:

  • Login as host
  • From PB, go to pages.
  • Select some page, hover on the more icon "...", select add page.
  • Fill in the new page's data.
  • Go to advanced tab > More, check the disabled toggle
  • Save the page.

https://www.screencast.com/t/ERUt2phPp

Result

You'll find the page created twice in the pages list and if you tried to click on the first one you'll get that you have no permission.

Expected result

This should be fixed.

(Non) developed modules

Can you please give us a list of developed modules (Finished, production-ready, modules -> 100 percent OR partially developed (say for 40% etc...)), but also modules that will be developed in a vNext (next version). We, DNN partners and lovers, need more information to make (strong) business decisions and possibly help developing (submitting (new) pull requests). And what about a release date (BETA, RC) ???

Personabar lazy loading + caching

The method call 'gettable' (GET /API/personaBar/localization/gettable?culture=en-US HTTP/1.1) needs to be cached. Lazy loading would be even better. I personally use 'Strathweb.CacheOutput' and it works fine. So cache the web api methods with Strathweb.CacheOutput, e.g., [CacheOutput(ClientTimeSpan = 3600, ServerTimeSpan = 3600)].

Prompt: Cross-portal scripting: "restore-user" is not working with anything other than the main site (To be general, the site in the URL))

Description

Cross-scripting only should work for user if cross-portalId either belongs to user or portalId is one of SiteGroup.

Steps to reproduce

  • Login as host.
  • From PB, Go Manage, sites.
  • Add new child site (site2) (Will get ID=1) with type Domain (yourMainURL/site2)
  • Login to the child site, add new user; usery (In my case it has ID=5).
  • Delete User
  • Use fiddler
  • Pass the url of you main site +"/API/PersonaBar/Command/Cmd/0" as POST (This targets scripting over the site with id=0)
  • Add all required headers (From the main site's instance)
  • Pass this in the request's body: {"cmdLine=restore-user 5"}
  • Execute the request.

Current behavior

Successfully restore user

Expected behavior

User not found

Affected version

  • Platform 9.2

SEO: Concatenate Page URLs on Off cause a bad url with two ?

with "Concatenate Page URLs" on Off into SEO settings, when i try to "edit" a module into "Page Setting >Module", the "Module Setting" iframe has an url like (note the double ?):

/my-page?moduleid=11585?popup=true&ctl=module&hidecancel=true&hidedelete=true&noredirectonupdate=true
________^______________^

the double ? cause an exception:

Error: is currently unavailable. DotNetNuke.Services.Exceptions.ModuleLoadException: Formato della stringa di input non corretto. ---> System.FormatException: Formato della stringa di input non corretto. in System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) in System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) in DotNetNuke.Modules.Admin.Modules.ModuleSettingsPage.OnInit(EventArgs e)

The problem is in ModuleEdit.js (https://github.com/dnnsoftware/Dnn.AdminExperience.Extensions/blob/2e77c2e19658c90d7cc52c4421a22b26b6c97cf5/src/Modules/Content/Dnn.PersonaBar.Pages/Pages.Web/src/components/Modules/ModuleEdit/ModuleEdit.jsx). This module, into the render() method, always concatenate the this.props.module.editSettingUrl with queryString , without check if this.props.module.editSettingUrl has already a ? , but queryString already has a ?:

const queryString = "?popUp=true&HideCancel=true&HideDelete=true&NoRedirectOnUpdate=true";

My fix is remove ? from queryString and add it if necessary into the render() method:

const queryString = "popUp=true&HideCancel=true&HideDelete=true&NoRedirectOnUpdate=true";

// ...

render() {
        const {state, props} = this;

        let moduleSettingControlPath = this.props.module.editSettingUrl;
        if( moduleSettingControlPath.indexOf('?') === -1 ){ 
            moduleSettingControlPath += '?';
        } else {
           moduleSettingControlPath += '&';
        }
        moduleSettingControlPath += queryString;
        return (state.userMode === "edit" && 
            <iframe ref="iframe" src={moduleSettingControlPath} style={iFrameStyle} frameBorder={0}></iframe>
        );
    }

Prompt: "get-user" is not working, as host user from PROMPT CMD, I can not get user of child site from main site and vice versa

Should have

  • add user in main site i.e. user1 (id=4)
  • add new child site
  • add new user in child site i.e user2 (id=5)
  • Open two different browser one with main site and other with child site and logged in as host user

Step to reproduce

  • Login as host then go to
  • PersonaBar > Manage > Users
  • Click on "Add User". Fill name as user1 and other info. Then "Save"
  • PersonaBar > Manage > Sites
  • Click on Add "New Site"
  • Fill form fields i.e. Name = child1 and select "Site Type" directory
  • Click "Create Site"
  • Now login as host in child1 site by open separate browser (i.e congnito or other browser)
  • Enter URL http://{website}/child1/login
  • PersonaBar > Manage > Users
  • Click on "Add User". Fill name as user2 and other info. Then "Save"

Now go to main site window
PersonaBar > Settings > Prompt
Type get-user 5

Now go to child1 site window
PersonaBar > Settings > Prompt
Type get-user 4

Current behavior

Error message for user not found

Expected behavior

Host user should get detail view of any user of any site when using PROMPT

Extensions - Resource dropdown is not populated

Steps

  • Login to Evoq Engage
  • navigate to Settings>Extensions
  • Click on Create new module
  • Select Manifest from the dropdown
  • Add Owner Folder & Moldule Folder
  • Click on Resource

Expected

List is displayed for all *.dnn and *.dnnVERSION_NUMBER files in the module folder.

Current

Resource dropdown is not populated, no matter what combination of Owner Folder & Module folder are selected. Therefore cannot create Manifest as Resource is required field

screenshot-1-2

Update login and profile page

Dnn9 without updating the login and profile page is NOT complete, especially from a marketing perspective. The whole community would like to see these changes (actually now for years).Please update those pages.

SI: Disabling a task does not work unless the application is restarted

Description

When a task is disabled, it will continue to run as scheduled until the application is restarted.
The expected behavior is that the scheduler should stop any further execution of this task.

To reproduce

  1. Go to Settings > Scheduler > Scheduler.
  2. Go to the settings of the Messaging Dispatch task.
  3. Set the frequency to 1 minute and update.
  4. Open the task logs to see the history of that task.
  • As one can see the task is running every minute, and set to run again after one minute.
    ss1
  1. Go back to the settings of the task and disable it (turn enable schedule off).
  2. Wait about 2 minutes and check the task history.

Expected Result

Task should have stopped running after disabling it.

Actual Result

Task will keep running until the application is restarted.

Note: stopping/starting the scheduler does not stop it from continuously running.

Settings > Custom CSS: + character (adjacent sibling combinator) stripped out on save

Steps to reproduce:

  1. Visit PersonaBar > Settings > Custom CSS
  2. Enter the following code: .DnnModule + .DnnModule { margin-top: 1rem; }
  3. Press Save, and see the success message
  4. Refresh the page
  5. Visit PersonaBar > Settings > Custom CSS
  6. You will see the code now says .DnnModule .DnnModule { margin-top: 1rem; }

Note the + character (adjacent sibling combinator) has been replaced with a blank space character .

What should happen:

The + character should not be stripped out of the Custom CSS.

Notes:

I'm using DNN Evoq Engage 9.2.0.

Tested in the latest versions of Firefox and Chrome on Windows Server 2016.

Cleaning up branches and branching model

As I witnessed while working on #539, there is some debt in how branches are organised in this repository.

Here's what I think we should do:

  1. Get rid of superfluous, stale branches
  2. Remove master
  3. Rename development -> master and make that the default brach
  4. Adopt GitHub flow
    • work on feature branches as usual, merged directly to master
    • when ready to release we would tag master (next is 1.6.0)
    • if necessary for regression, we could create a release branch to stabilize

Set-page prompt commands are not working for pages other than main site

Steps to reproduce

  1. Login as Host
  2. Personabar > Manage > sites
  3. Add new site by directory (SITE TYPE). Name site as child1
  4. Open in other browser {SITE_URL}/child1
  5. Login as host in child site
  6. Personabar > Content > Pages
  7. Add new page get its Id in mine case it was 90
  8. Now go back to first browser
    Open PersonaBar > Settings > Prompt
  9. Type set-page 90 --title child1page1 and enter

Current behavior

Command hangs and then prompt start blinking, no success message. If check browser debugger > network tab select the last POST command and check its response tab

{  
  "output": "",
  "isError": true,
  "isHtml": false,
  "mustReload": false,
  "data": null, 
  "fieldOrder": null,
  "pagingInfo": null,
  "nextPageCommand": null,
  "records": 0
}

Expected behavior

It should show successful message that title has been set and detail view should show the newly set title.

delete-user not working across portals and for cross-portals api calls working regardless of API calls

Description

If you pass portal id in rest request to delete user and if user does not belong to that portal, even then it is getting delete by the system

Steps to reproduce

  1. Consider site group and sites scenarios as below:
  2. Create child1(portalid= 1), child2(portalid= 2) sites in main site(portalid=0)
  3. Make site group of child2 and main-site with main-site as master site
  4. Create some users in sites.
  5. Create user1(userid= 3) , user2(userid= 4) in main-site
  6. Create user1child1(userid=5) , user2child1(userid= 6) in child1 site by login as Host
  7. Create user1child2(userid= 7) , user2child2(userid= 8) in child2 site by login as Host
  8. Now open PROMPT CMD of any of the site run DELETE-USER command should work successfully to delete any user
  9. While running delete-user open FIDDLER to catch delete-user command to test rest/api calls for cross-portalId
  10. Now replay the delete-user with COMPOSER inside FIDDLER make following changes to simulate cross portal rest/api requests
    • By appending the portalId paramter in the end of url e.g. append 0 after "API/PersonaBar/Command/Cmd/0" to simulate call for main site
    • In request body {"cmdLine=delete-user 3"}
  11. For above site-settings of our sites delete-user command should work successfully for site group/sites with following combinations
    • sites-id {0,2} user-ids {3,4,7,8} for main site and child2 site.
    • site-id {1} user-ids {5,6} for child1
  12. While these combinations should give failure results
    • for sites {0,2} for user-id {5,6}
    • for sites {1} for user-id {3,4,7,8}
  13. As for site-group users and module data are shared among portals. Hence users with Id 7,8 could be deleted against portalId 0 and same applied to users with id 3,4 could be deleted against portalId 2

Cannot Create Module from Manifest

GetModuleFiles function doesn't retrieve manifest files

Wrong Get: /API/PersonaBar/Extensions/GetModuleFiles?ownerFolder=MyFolder&moduleFolder=SubFolder&type=3

Correct Get: /API/PersonaBar/Extensions/GetModuleFiles?ownerFolder=MyFolder&moduleFolder=SubFolder&type=2

change js function in Admin\Dnn.PersonaBar\Modules\Dnn.Extensions\scripts\bundles\extensions-bundle.js
'onFolderSelect' .... type: 3 to type: 2

wrong type

Drag and drop page on Tree View is not assign the page parent and presenting an error.

Description

When the user try to move a page to be child of another page, ether by drag and drop or by selecting page parent on page detail, it presents an error.

Steps to reproduce

  • Login as host.
  • From Persona Bar, Go to Content > Pages
  • Select any page to be a child of Home by start dragging the page and try to drop on Home in treeview.

Actual Result

Show an error on retrieving content

Expected Result

Should be able to assign the dragged page as child of Home page.

Affected version

  • 9.2.2
  • 9.2.1
  • 9.1.1
  • 9.1
  • 9.0

Affected browser

  • Chrome
  • Firefox
  • Safari
  • Internet Explorer
  • Edge

The source of this error when trying to move a page to be a child of another page

This is a defect included when trying to fix #560, some mistake was made because the activePage on tree view is diferent from the activePage on the main detail page. The pull request #580 has altered the name of this variable to avoid confusion in future mantainence.

get-page command fetching page information which does not belong the portalId parament pass for api call

Steps to reproduce

  • Login as host.
  • From PB, Go Manage, sites.
  • Add new child site (site2) (Will get ID=1) with type Domain (yourMainURL/site2)
  • Login to the child site, add new page (In my case it has ID=52).
  • Use fiddler
  • Pass the url of you main site +"/API/PersonaBar/Command/Cmd/0" as POST (This targets scripting over the main site with id=0)
  • Add all required headers (From the main site's instance)
  • Pass this in the request's body: {"cmdLine=get-page 52 "}
  • Execute the request.

Actual Result

Show page details

Expected Result

Should show error message, page not found

Provide Edit as well as Settings menu on Content > Pages > Advanced > Modules screen

Description

If user has a lame skin (or misbehaving modules) it can be hard/impossible to get to a module's edit menu.

Previously (pre-DNN 9) we could go to LAYOUT view and access both a module's Edit and Settings menus.

With DNN 9, one can go to Personna bar's Content | Pages | Advanced | Modules screen to see a list of modules. Once there though, the edit icon (a pencil - which really should be the settings icon!) goes to the modules SETTINGS menu, but there is no way to get to the EDIT menu for the module.

Accessing the Edit menu may be required to solve the issue or start over.

One can also change to a good skin as a partial worksround, but this is more of a hassle and may not always work.

Affected version

  • 9.0.2

Managing version numbers (of code and install packages)

Currently version number have to be managed multiple times across every repository. For this repository alone it's 22 manifest files which have to be changed every time we bump the version (no wonder we bump it ver rarely ๐Ÿ™). The numbers in the .dnn manifests are then taken as the zip installer version. Hence these artifacts, as seen in builds from #539 are still 1.6.0, even though GitVersion wrongly calculated 1.5.1. Just imagine how many there are across all Plaftorm/Evoq codebase.


So, with GitVersion we would not have the version number at all. Anywhere! Not in .dnn, not in AssemblyInfo.cs. Anywhere. That version would only ever be calculated from the git branching. The tool has a lot to offer in terms of configuration. It is being affected mainly by tags and merges with release branches.

Prompt: Cross-portal scripting: "add-roles" is not working with anything other than the main site (To be general, the site in the URL))

Steps to reproduce

  • Login as host.
  • From PB, Go Manage, sites.
  • Add new child site (site2) (Will get ID=1) with type Domain (yourMainURL/site2)
  • Login to the child site, add new user; usery (In my case it has ID=5).
  • Use fiddler
  • Pass the url of you main site +"/API/PersonaBar/Command/Cmd/0" as POST (This targets scripting over the site with id=0)
  • Add all required headers (From the main site's instance)
  • Pass this in the request's body: {"cmdLine=add-roles 5 --roles editor "}
  • Execute the request.

Current behavior

Successfully role added to the user

Expected behavior

User not found

Server menu is not displayed

Description

With recent builds of 9.2.1 some Persona Bar menus were not working. Turns out that the CI did not capture yarn install failure and we were using broken React bundles:

export-bundle.js?cdv=65:2 Uncaught Error: Minified React error #130; visit http://facebook.github.io/react/docs/error-decoder.html?invariant=130&args[]=undefined&args[]=%20Check%20the%20render%20method%20of%20%60t%60. for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
at n (export-bundle.js?cdv=65:2)
at i (export-bundle.js?cdv=65:61)
at r (export-bundle.js?cdv=65:172)
at o (export-bundle.js?cdv=65:29)
at o (export-bundle.js?cdv=65:29)
at i (export-bundle.js?cdv=65:29)
at Object.instantiateChildren (export-bundle.js?cdv=65:172)
at h._reconcilerInstantiateChildren (export-bundle.js?cdv=65:173)
at h.mountChildren (export-bundle.js?cdv=65:173)
at h._createInitialChildren (export-bundle.js?cdv=65:173)

The root cause was yarn.lock referring the private MyGet repository.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.