The Microsoft plugin integrates media data from your Microsoft Drive storage into the Joomla core media manager. It allows the admin to select images in articles and any other extension which uses the core media manager. Beside that it is possible to create folders, upload images, rename and delete the data directly from within Joomla on your Microsoft storage. It's possible to add unlimited different Microsoft accounts in the plugin.
The ONLY way to make your Microsoft media data accessible in the media manager is to import them, because the Microsoft API requires a refresh token which is obtained during the import process. To whole import process is described below.
Please read the Concept of image service provider integration article to get more information how to get started with the image service provider plugins from DPMedia.
To be able to import your Microsoft data you need a client ID and client secret from the Microsoft Azure portal. This credentials are used to make authenticated requests against the Microsoft API endpoint. It is OAuth authentication and allows you to revoke the credentials at any time without exposing your private username and password.
Log in into the Microsoft Azure portal. Click on the "Azure Active Directory" button and then on "App registrations". On the top of the page click on "+ New registration" which forwards you to the app registration page.
Give it a name and select "Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft account". In the "Redirect URI" field you have to put an url with the following parameters:
https://example.com/plugins/filesystem/dpmicrosoft/dpmicrosoft.php
Replace example.com with your web site url! You will find the correct url also later in the import modal dialog in Joomla. This url is important, if it is wrong you can't import your account, you will get a redirect_uri_mismatch error! Yo need also to use HTTPS as scheme as HTTP is not supported.
Here you get access to the client ID and secret which will be later used during the import process.
and click on "Create app".
Once the app is created you need to create a client secret. Click in the sidebar on "Certificates & secrets" and then on "New client secret". An Overlay dialog will open. Choose there 24 months and then click on the "Add" button. In the client secrets list you will see now the new secret. Copy the value to a text editor as the secret will be only visible once.
The client ID can be obtained from the Overview page of the app. It is the "Application (client) ID" value.
After you have setup the credentials in the Microsoft app console it's time to import it into Joomla.
Open the filesystem Microsoft plugin in the plugin manager in the back end of your Joomla site. Click on the green "+" button in the plugin edit form. A modal dialog will open with instructions. Additionally you will get here the correct url for the Authorized redirect origin.
Copy paste the client ID and client secret from the Microsoft app console to the dialog. Make sure you are logged in with the Microsoft account you want to import.
On the top of the dialog you will see a link with the url which must be used as "Authorized redirect URI" in the Microsoft app console. If this doesn't match, Microsoft will throw a warning.
Click the "Import" button. You will get then redirected to Microsoft. Click on "Continue" when Microsoft asks you to trust the developer. Review the permissions and make sure that you can a least view the Microsoft content. Then click on "Allow"
You should see now the imported account with your client ID and secret. Additionally should the refresh token field be filled. This key is needed to authenticate against Microsoft when doing the API requests. If this isn't the case, then something went wrong along the line and you should start the process again.
Per imported account the admin can define that media files should be served locally. This helps to ensure that the site is compliant with the sites privacy policy and that the visitors are only fetching media data from the web site.
If activated, then the files are copied from Microsoft OneDrive to the local filesystem on a path the site admin can define. This happens when a media file is selected in an article or everywhere else from a media field. During the media list fetch, the files and thumbs are not stored locally. Each file will be saved with the last modification timestamp to ensure that the updates are immediately reflected locally.
If the file is an image it is also possible to define a custom width and height, so the drive of the Joomla site will not fill up quickly.
The plugin supports automatic resize when images are uploaded. The images are only scaled down, but not up. The admin can choose between the following four options when resizing should be applied:
When only a width or height is set, then a resize is performed and the aspect ratio is kept. Like that will all images have the same width or height. When both dimensions are set, then an option is shown which lets you define if the aspect ratio should be kept or not. If it is not kept, then each image has the same dimensions but the smaller side gets cropped. Here are some examples listed for a better understanding:
Image dimensions | Force width | Force Height | Keep aspect ratio | Resized image dimensions | Crop |
---|---|---|---|---|---|
2000 x 3000 | 0 | 400 | 267 x 400 | No | |
2000 x 3000 | 400 | 0 | 400 x 750 | No | |
2000 x 3000 | 400 | 100 | No | 400 x 100 | Height is cropped from 750 to 100 |
2000 x 3000 | 400 | 100 | Yes | 67 x 100 | No |
2000 x 3000 | 100 | 400 | No | 100 x 400 | Width is cropped from 267 to 100 |
2000 x 3000 | 100 | 400 | Yes | 267 x 400 | No |
Per imported account the site administrator can define caching so images will be loaded much faster in the media manager. DPMedia uses the core Joomla cache, so it can be revoked at any time in the core Maintenance Manager. Additionally the admin can define a cache time so images will downloaded after a certain time automatically again from Microsoft.
Comments (0)