SPFx extension deployment options - spfx-extension

There are two XML files - elements.xml whose scope is site collection and ClientSideInstance.xml whose scope is Tenant wide.
If we set elementManifests property to elements.xml then can we deploy application extension, field customizer extension and command set extension to both site collection app catalog and Tenant app catalog?
If we set elementManifests property to ClientSideInstance.xml then can we deploy application extension, field customizer extension and command set extension to both site collection app catalog and Tenant app catalog?

Related

Is it possible to configure default roles for Hasura in config files?

I'm using hasura via docker. By default there is only admin role and I can add more roles using UI, but after I make restart docker there is only admin again.
Is it possible to setup default user and permissions in config files?
All information about roles is tracked in Hasura's metadata yaml files.
When you add new roles and update the permissions for those roles, you should see that the YAML files are modified to include this information. This is the main way that Hasura allows configuration to be reviewed and managed with version control so that it can be applied safely against different environments.
If you're bringing up the docker containers from scratch (including removing volumes) you may need to run hasura metadata apply against your instance in order for the content of the metadata files to actually be applied.

is there a way to create a custom action for a standard web api "publish" via visual studio?

I'm currently publishing my Web API app to different environments via the basic method of right-clicking on the Web API project and clicking "Publish" and then selecting a pre-defined publish profile.
I've created a "WebConfigs" folder with a Web.config for each environment. For example, Web.test.config, Web.staging.config, Web.prod.config. Before I publish to an environment, I need to overwrite the contents of the root-level Web.config file with the contents of the environment-specific Web.config.
Is there any type of hook I can create in a Publish profile to accomplish this automatically, as opposed to having to manually overwrite the contents of the root-level Web.config every time I publish?

Add a new webapp context to the Websphere server

I am using Websphere Server v8.0. What property should I set to add a new webapp context similar to Glassfish property
<property name="alternatedocroot_1" value="from=/images/* dir=/var/webapp" />
for Websphere ? My requirement is I need to access files outside webapp in my JSF page.
You are probably asking about the extendedDocumentRoot property:
Use the extended document root facility when applications require access to files outside of the application web application archive (WAR) directory. This facility enables you to configure an application with one or more directory paths from which you can serve static files and JSP files. You can use this attribute when an application requires access to files that exist outside of the web application archive (WAR) directory.
To configure it, create ibm-web-ext.xml file, if you already dont have one, and specify following property:
<fileServingAttributes xmi:id="FileServingAttribute_1" name="extendedDocumentRoot" value="/opt/extDocRootDir"/>
For more details and samples check this page - JSP engine configuration parameters.
Separate parameter is used to serve JSPs from external folder.

Google Admin Directory API in Appmaker

After creating a directory datasource the Google Admin Directory API is automatically added to app settings. However the AdminDirectory object is not usable in server side appscript. Documentation for adding the AdminDirectory object to appscript in other apps suggests the api needs to be activated via the api console. There are unfortunately no links to the project at the console from the advanced section of the app settings. The user I am using developing this app with has MANY projects in the console any of which could be one created by appmaker. Is there a way to determine which project is the one the appmaker app is associated with? Is this even what I need to do to make the AdminDirectory object available in server side scripts?
I run some tests and you should be able to use the AdminDirectory object after adding a Directory Datasource to your App Maker application.
To test this I created a new app in App Maker and added a Directory Datasource. Then I created a Server script and used the code available in this Apps Script Admin Directory example https://developers.google.com/apps-script/advanced/admin-sdk-directory#list_all_users (*Note that for testing purposes, I used console.log instead of Logger.log)
Then in a new Page I added a Button widget and called the server script by using google.script.run in an onClick event in the Property Editor and I was able to get (console.log) the list of all users in my domain. Note that in order to call a server script, you will need to use google.script.run as explained here https://developers.google.com/appmaker/scripting/client#call_a_server_script
Try in AM editor App Settings -> Deployments, then expand deployment you need. There you will see 'View Logs' button. Clicking the button will open Google Cloud Console for your project.
By the way, you can access directory model by querying it:
var people = app.models.YourDirectoryModelName.newQuery().run();

Create Web App with Specific Location

I am trying to create an IIS Web Application with a customized location and after reading the documentation I think i can't do it with only using the createApp.
"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe" -verb:sync -source:createApp -dest:createApp="Default Web Site/MyApp",filePath="C:\MyCustomDir"
Error: The provider 'createApp' does not support the 'filePath' setting. Supported settings are (managedRuntimeVersion, enable32Bi
tAppOnWin64, managedPipelineMode, authType, computerName, encryptPassword, includeAcls, password, prefetchPayload, userName, wmsvc
).
Error count: 1.
First off, as the error message shows, filePath isn't a setting for createApp -- it's actually a provider of its own that can copy individual files (see Web Deploy filePath Provider).
createApp only creates the definition for a web application in IIS configuration (the apphost.config file) - it doesn't actually create a folder for the web application. So, you're better off using the iisApp provider, which creates the app definition in IIS and the folder for you.
Following the intent of your example, I tried the following command using iisApp:
msdeploy -verb:sync -source:iisApp="c:\MyCustomDir" -dest:iisapp="Default Web Site/MyApp"
The command works, but the problem is that since you are creating an app under the Default Web Site (and with the iisApp and createApp commands you must have an existing IIS site under which the app will be created), the folder specified in the source was ignored. Instead, iisApp automatically created a MyApp folder under the folder for the Default Web site, which in this case was C:\inetpub\wwwroot\MyApp.
If you want to change the folder for the app to some other location, it looks like you have to do it after the fact. In IIS Manager, you can do it by selecting MyApp in the Connections pane, clicking Basic Settings in the Action pane, and then changing the Physical path setting in the Edit Application dialog box.

Resources