SOLVED

Looking for App that allows employees to upload photos & description

Copper Contributor

We have an employee intranet that 99% of the employee are readers only.  We are looking for a SharePoint app or solution that will allow the readers only to upload photos (pending approval) to a SharePoint list or folder with a description & submitter name

1 Reply
best response confirmed by Candice_Osborne (Copper Contributor)
Solution

Hi @Candice_Osborne ,

well you could just create a document library

 

1) Create a Document Library
2) Add a column "My Description" and make that column required.
Gallery.png
3) Apply this view formatting json to the view

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/row-formatting.schema.json",
  "hideSelection": true,
  "hideColumnHeader": true,
  "rowFormatter": {
    "elmType": "a",
    "attributes": {
      "class": "ms-borderColor-neutralLight",
      "href": "[$FileRef]"
    },
    "style": {
      "float": "left"
    },
    "children": [
      {
        "elmType": "div",
        "attributes": {
          "class": "ms-bgColor-themeLighterAlt ms-bgColor-themePrimary--hover ms-fontColor-white--hover"
        },
        "style": {
          "display": "flex",
          "flex-wrap": "wrap",
          "flex-direction": "column",
          "align-items": "stretch",
          "padding": "1px",
          "margin": "10px",
          "max-width": "930px",
          "box-shadow": "2px 2px 4px darkgrey"
        },
        "children": [
          {
            "elmType": "img",
            "attributes": {
              "src": "=@currentWeb + '/_layouts/15/getpreview.ashx?path='+[$FileRef]"
            },
            "style": {
              "width": "auto",
              "height": "300px"
            },
            "children": [
              {
                "elmType": "span",
                "txtContent": "[$FileName]",
                "style": {
                  "margin-bottom": "1px"
                },
                "attributes": {
                  "class": "ms-fontSize-m ms-fontWeight-regular ms-fontColor-neutralSecondary"
                }
              }
            ]
          },
		   {
            "elmType": "div", 
			"txtContent": "[$MyDescription]"
			}
        ]
      }
    ]
  }
}

Now you get this
GalleryFormatted.png
3) Give Users write access to that library ("Gear->Library Settings->Permissions for this document library-> Stop inheriting Permissions" and after that Grant Permissions to your user group)

4) Now go to Gear->Library Settings-> Versioning Settings and make these Settings

VersionigSettings.png
Now you get a new View "Approve/reject Items".

If a user uploads a new Image, it will be stored in the document library.
But it will be only visible for the user and Site Collection Admins.
Admins now can go into the "Approve/reject Items" View and either approve or reject an item. Only then it will be visible to all other users.

If you want to be notified of new items that need approval, you now just have to create a flow that sends you an email, if a new item is created.

Best Regards,
Sven

1 best response

Accepted Solutions
best response confirmed by Candice_Osborne (Copper Contributor)
Solution

Hi @Candice_Osborne ,

well you could just create a document library

 

1) Create a Document Library
2) Add a column "My Description" and make that column required.
Gallery.png
3) Apply this view formatting json to the view

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/row-formatting.schema.json",
  "hideSelection": true,
  "hideColumnHeader": true,
  "rowFormatter": {
    "elmType": "a",
    "attributes": {
      "class": "ms-borderColor-neutralLight",
      "href": "[$FileRef]"
    },
    "style": {
      "float": "left"
    },
    "children": [
      {
        "elmType": "div",
        "attributes": {
          "class": "ms-bgColor-themeLighterAlt ms-bgColor-themePrimary--hover ms-fontColor-white--hover"
        },
        "style": {
          "display": "flex",
          "flex-wrap": "wrap",
          "flex-direction": "column",
          "align-items": "stretch",
          "padding": "1px",
          "margin": "10px",
          "max-width": "930px",
          "box-shadow": "2px 2px 4px darkgrey"
        },
        "children": [
          {
            "elmType": "img",
            "attributes": {
              "src": "=@currentWeb + '/_layouts/15/getpreview.ashx?path='+[$FileRef]"
            },
            "style": {
              "width": "auto",
              "height": "300px"
            },
            "children": [
              {
                "elmType": "span",
                "txtContent": "[$FileName]",
                "style": {
                  "margin-bottom": "1px"
                },
                "attributes": {
                  "class": "ms-fontSize-m ms-fontWeight-regular ms-fontColor-neutralSecondary"
                }
              }
            ]
          },
		   {
            "elmType": "div", 
			"txtContent": "[$MyDescription]"
			}
        ]
      }
    ]
  }
}

Now you get this
GalleryFormatted.png
3) Give Users write access to that library ("Gear->Library Settings->Permissions for this document library-> Stop inheriting Permissions" and after that Grant Permissions to your user group)

4) Now go to Gear->Library Settings-> Versioning Settings and make these Settings

VersionigSettings.png
Now you get a new View "Approve/reject Items".

If a user uploads a new Image, it will be stored in the document library.
But it will be only visible for the user and Site Collection Admins.
Admins now can go into the "Approve/reject Items" View and either approve or reject an item. Only then it will be visible to all other users.

If you want to be notified of new items that need approval, you now just have to create a flow that sends you an email, if a new item is created.

Best Regards,
Sven

View solution in original post