DNN 7 issue with SupportedModules attribute - dotnetnuke-7

I'm an experienced (ASP.NET|Java|PHP|web) developer, new to DotNetNuke.
Currently I'm following a blog tutorial to try to get an Angular module up-and-running in my local installation of DNN 7 (http://www.bitboxx.net/Blog/Post/505/DNN-module-development-with-AngularJS-Part-1#)
My environment: Windows 2012 Server R2, SQL Server 2016 Express, Visual Studio 2015 and DNN 7 on IIS 8.
DNN nuke runs fine.
I installed the downloaded module from the blog to my DNN. I'm having problems to run the HelloWorld example (at the bottom of the 2nd part of the course).
Through some trial-and-error I found out this has to do with the [SupportedModules] attribute on the controller.
Without this attribute it runs fine, but with the attribute it won't.
How does DNN determine the name of the module? The "installation" process was no more then unzipping the modules contents to the DesktopModules directory within my DNN directory (in inetput\wwwroot).
Do I need to install/configure the modules in Settings > Extensions?
Or am I missing some other point with regards to the DNN 7's security?
Thanks in advance for any help/thoughts!

Yes, you need to install the module through the Extensions mechanism in DNN. This will register the module so DNN is aware of the module as well as make sure the files get copied to the right places, in accordance with the installation manifest (the .dnn file you should find inside that .zip file)
However, looking at the blog article you referenced, I don't see an actual installation zip file anywhere. The only download I found was for the project as a whole. You would need to package your compiled solution into an installable zip file (with a .dnn manifest file) or you need to manually register your extension from the Extensions page.
On that page you should click the "Create New Extension" button which will walk you through supplying details for the module. Choose Module as the Extension Type
Only a few of the items are required. The "Name" you use for the module will be the name you use in SupportedModules. It will also default your folder name (the folder in /DesktopModules) to the module name. Friendly Name, incidentally, is what will be displayed in menus and such.
Once you've created the module it should be registered with DNN. You will probably need to restart your AppPool and website for the change to take effect.
FYI, SupportedModules isn't strictly required. If you're building this for a client and not building this for distribution.
Hope this helps.

Related

In VStudio 2019, VB, .NET-5: for a ClickOnce installed app, how do I locate the application's data directory at runtime?

My VStudio is 2019 Community, the application is an old VB Windows/Forms app being brought forward from .Net-3.5-ish to .Net-5.
Under .Net-4.8 or earlier, using the namespace System.Deployment.Application, one could access ApplicationDeployment.DataDirectory to locate that artificially-generated directory in \Users\Username\AppData\Local\Apps\2.0\... that a 1-click installation would create and populate with data files from the Project Build/Publish.
Under .Net-5, I believe that particular set of functions has been taken out - yet the ClickOnce installer still places Data files there. How do I programmatically locate that directory? The Application Path can be located from System.AppContext.BaseDirectory, but that doesn't help in locating the data.
This app, an old bit of VB code, has a large number of application data files that need to be installed along with the code. As there are more than 40 of them, we've kept them in their own \Data directory, which is included in the Project, is under Git control to keep their versions aligned with their code...
In an uninstalled app, we could keep this \Data directory adjacent to the executable, and find it easily at runtime: but with a ClickOnce installed app, that falls apart. In the Publish configuration, all the data files are identified, with Group=Required, Publish Status=DataFile.
Can I either:
Easily configure the 1-click installer to place our \Data directory and its contents into one of the standard \Local\Appname or \Roaming\Appname directories that seem to also get created, but left empty? Those can easily be located at runtime.
Easily construct at runtime the path to that obscure data directory that 1-click normally creates and uses for data?
Cheers, and Thanks! Bob

Modules not loading in platform

Despite a successful build, no modules will load. The Browse menu is empty (except for Assets) and custom modules in the Configuration menu are missing.
After downloading the most recent build from our repository, I followed all steps in the "Source Code Getting Started" page. It has been a few months since looking at the VC documentation, and it looks like it has been updated. I recall an extra step after creating the Assets virtual folder in IIS that isn't there now. Is there perhaps a step here that is missing since the docs update?
Fwiw, the build deployed in our QA environment is fine. This is the same code, but I am trying to run locally and am having no luck with modules.
Virtual folder for Modules is optional in IIS and this step was skipped in the updated docs. But adjusting permissions in needed: "Open properties for vc-platform\VirtoCommerce.Platform.Web\Modules (create this folder if not exsist) folder and give permission Modify to IIS_IUSRS user group as shown above."

can I install wamp twice in different folders?

I'm facing a problem due to the folder name "Program Files" in which my wamp is installed.
I'm using Yii Framework to create a web app.
While running a command
yiic webapp c:\Program Files\wamp\www\YiiApp
it gives error due to the white space in the folder name.
The error is as below:
C:\Program Files\wamp\www\yii-1.1.13.e9e4a0\framework>yiic webapp c:\Program Fil
es\wamp\www\YiiApp
Error: Unsupported VCS specified. Currently only git and hg supported.
USAGE
yiic webapp <app-path> [<vcs>]
DESCRIPTION
This command generates an Yii Web Application at the specified location.
PARAMETERS
* app-path: required, the directory where the new application will be created.
If the directory does not exist, it will be created. After the application
is created, please make sure the directory can be accessed by Web users.
* vcs: optional, version control system you're going to use in the new project.
Application generator will create all needed files to the specified VCS
(such as .gitignore, .gitkeep, etc.). Possible values: git, hg. Do not
use this argument if you're going to create VCS files yourself.
What should I do? Please suggest me something.
The second install will have superceeded the first. In other words Wampmanager and Apache and MySQL will be being started out of the new folder.
As per your question on wamp forum, copy wwww/subfolders into the new location and then copy ONLY YOUR databases from mysqlx.y.z/data into the same place in the new location.
Then delete the folders from program files.
You only need one wamp ( Apache/MySQL) per system.
I tried something else:
Without moving the previously installed wamp's content just read the
"uninstall_services.bat" file
just uninstall these services from that wamp directory which you want to disable.
Still the another wamp's services won't start. So install those services mentioned in "uninstall_services.bat" file manually from respective directories.
Now Restart All Services from the tray icon. The required wamp will be enabled.
If won't, try it again. No need to reinstall wamp.

installing an extension using vqmod

I recently installed VQmod for opencart and I've tried to add my first vQmod xml file.
The VQmod installation was successful and I see the message
VQMOD ALREADY INSTALLED!
when I visit the /vqmod/install/ URL as expected
The extension I tried to install can be found here
I added the xml file to the root folder of my site and the /vqmod/xml/ folder but I don't see a change. No new module appears in the modules page and I don't see the extension working as expected. I also don't get any error messages
The file needs to be in the /vqmod/xml/ folder as you've rightly done (the root of the folder one can be deleted as it's not required). As for the mod not showing up, vQmods don't add modules to anywhere - they virtually edit files in certain spots. From the looks of the extension you need to go to CATALOG > PRODUCTS in your admin and then you will notice you can edit products there. A few of things to check
You are using the correct version for your OpenCart install and that it is compatible
If you don't, you'll need to get that version instead
You have files in /vqmod/vqcache/ and that if you delete them and refresh your OpenCart store, the files regenerate
If they don't, check the permissions on the directory and that you have the OpenCart version of vQmod, including the /vqmod/xml/vqmod_opencart.xml file
You have no errors from the mod (see /vqmod/logs/ followed by the day name such as Tue.log)
If you do, contact the developer to get a fix if they can. Remember that while vQmods can work well together, that depends largely on the competence of the developer to make it as dynamic as possible. Conflicts can always occur however
download the VQMOD from this link https://code.google.com/p/vqmod/downloads/list
upload the ZIP file (case of server)
extract the ZIP file and past root folder directory (in case of localhost)
exp (site folder name is shop (shoo/vqmod))
run on url (http:/open/vqmod/install/)
exit

Sitefinity module install failure

I created a new module by following the testimonials example in the SDK. But, it won't install. There are no error messages to help direct me in a certain direction.
I've fired up the project in debug mode setting a break point on the install method, but it never gits hit.
Anyone know why that would be?
Thanks,
Jacques
If it's not installing it might not be properly registered in the system. What version of Sitefinity is this? If one of the more recent ones there is a section under Administration > Modules where you can install the module. Otherwise you need to do it in the Administration > Settings > Advanced > System > Application Modules and create a new entry there manually
Either way, make sure that the full name of your module is correct (including the namespace) as the Type, and that the startupType is set to "OnApplicationStart" so it initializes when the website starts.
Then force your website to restart (easiest way is to just save the web.config file) and it should fire up.
I hope this is helpful!
If you have done all this and it's still not firing, can you tell me if the module is listed in the systemConfig.Config file under app_data folder?