Quantcast
Channel: ActiveTopics
Viewing all 72689 articles
Browse latest View live

Check is user is logged into backoffice

$
0
0

Hi,

I am trying to restrict files / folders so that they can only be downloaded by a logged in backoffice user.

How can i carry out a check to see if the user is logged into the backoffice and authenticated, whilst using the umbracoapicontroller

Thank!


Upgrade from 8.0.2 to 8.1.5: Boot Failed

$
0
0

Hi there,

I tried to upgrade my dev version if my site from 8.0.2 to 8.1.5 using NuGet in VS2019 (latest version installed).

I fixed all the errors. All I had to do was change PublishedContentType to IPublishedContentType inside my model classes.

ModelsBuilder is runnin in LiveAppData mode.

Now, when starting the site on localhost, I have the following error:

Boot failed: Umbraco cannot run. See Umbraco's log file for more details.

-> Umbraco.Core.Exceptions.BootFailedException: Boot failed.

-> System.TypeLoadException: Could not load type 'Umbraco.Core.Composing.TypeCollectionBuilderBase`2' from assembly 'Umbraco.Core, Version=8.0.0.0, Culture=neutral, PublicKeyToken=null'.
  at Umbraco.ModelsBuilder.Api.ModelsBuilderApiComposer.Compose(Composition composition)
  at Umbraco.Core.Composing.Composers.Compose() in d:\a\1\s\src\Umbraco.Core\Composing\Composers.cs:line 67
  at Umbraco.Core.Runtime.CoreRuntime.Boot(IRegister register, DisposableTimer timer) in d:\a\1\s\src\Umbraco.Core\Runtime\CoreRuntime.cs:line 152

The log file isn't of any more help to me:

{"@t":"2019-10-14T14:47:33.0493076Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Booting Umbraco 8.1.5.","TimingId":"1e0d71a","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":13124,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":4,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"RAGI-WORK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"8ed022c5-6067-4df1-aaa1-3fc645fd9f04"}
{"@t":"2019-10-14T14:47:33.0573073Z","@mt":"Booting site '{HostingSiteName}', app '{HostingApplicationID}', path '{HostingPhysicalPath}', server '{MachineName}'.","HostingSiteName":"WeiswampachCms-Umbraco8","HostingApplicationID":"/LM/W3SVC/2/ROOT","HostingPhysicalPath":"C:\\Users\\ragi\\onedrive\\development\\WeiswampachCms-Umbraco8\\WeiswampachCms-Umbraco8\\","MachineName":"RAGI-WORK","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":13124,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":4,"AppDomainAppId":"LMW3SVC2ROOT","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"8ed022c5-6067-4df1-aaa1-3fc645fd9f04"}
{"@t":"2019-10-14T14:47:33.0863094Z","@mt":"Acquiring.","SourceContext":"Umbraco.Core.MainDom","ProcessId":13124,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":4,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"RAGI-WORK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"8ed022c5-6067-4df1-aaa1-3fc645fd9f04"}
{"@t":"2019-10-14T14:47:33.0873073Z","@mt":"Acquired.","SourceContext":"Umbraco.Core.MainDom","ProcessId":13124,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":4,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"RAGI-WORK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"8ed022c5-6067-4df1-aaa1-3fc645fd9f04"}
{"@t":"2019-10-14T14:47:33.4143069Z","@mt":"{StartMessage} [Timing {TimingId}]","StartMessage":"Resolving composer types.","TimingId":"bba3545","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":13124,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":4,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"RAGI-WORK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"8ed022c5-6067-4df1-aaa1-3fc645fd9f04"}
{"@t":"2019-10-14T14:47:33.6293108Z","@mt":"{EndMessage} ({Duration}ms) [Timing {TimingId}]","EndMessage":"Resolved.","Duration":214,"TimingId":"bba3545","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":13124,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":4,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"RAGI-WORK","Log4NetLevel":"INFO ","HttpRequestNumber":1,"HttpRequestId":"8ed022c5-6067-4df1-aaa1-3fc645fd9f04"}
{"@t":"2019-10-14T14:47:34.1373097Z","@mt":"{FailMessage} ({Duration}ms) [Timing {TimingId}]","@l":"Error","@x":"Umbraco.Core.Exceptions.BootFailedException: Boot failed. ---> System.TypeLoadException: Could not load type 'Umbraco.Core.Composing.TypeCollectionBuilderBase`2' from assembly 'Umbraco.Core, Version=8.0.0.0, Culture=neutral, PublicKeyToken=null'.\r\n   at Umbraco.ModelsBuilder.Api.ModelsBuilderApiComposer.Compose(Composition composition)\r\n   at Umbraco.Core.Composing.Composers.Compose() in d:\\a\\1\\s\\src\\Umbraco.Core\\Composing\\Composers.cs:line 67\r\n   at Umbraco.Core.Runtime.CoreRuntime.Boot(IRegister register, DisposableTimer timer) in d:\\a\\1\\s\\src\\Umbraco.Core\\Runtime\\CoreRuntime.cs:line 152\r\n   --- End of inner exception stack trace ---","FailMessage":"Boot failed.","Duration":1095,"TimingId":"1e0d71a","SourceContext":"Umbraco.Core.Runtime.CoreRuntime","ProcessId":13124,"ProcessName":"iisexpress","ThreadId":6,"AppDomainId":4,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"RAGI-WORK","Log4NetLevel":"ERROR","HttpRequestNumber":1,"HttpRequestId":"8ed022c5-6067-4df1-aaa1-3fc645fd9f04"}
{"@t":"2019-10-14T14:47:35.0713093Z","@mt":"An unhandled exception occurred","@l":"Error","@x":"Umbraco.Core.Exceptions.BootFailedException: Boot failed: Umbraco cannot run. See Umbraco's log file for more details.\n\n-> Umbraco.Core.Exceptions.BootFailedException: Boot failed.\n\n-> System.TypeLoadException: Could not load type 'Umbraco.Core.Composing.TypeCollectionBuilderBase`2' from assembly 'Umbraco.Core, Version=8.0.0.0, Culture=neutral, PublicKeyToken=null'.\n   at Umbraco.ModelsBuilder.Api.ModelsBuilderApiComposer.Compose(Composition composition)\r\n   at Umbraco.Core.Composing.Composers.Compose() in d:\\a\\1\\s\\src\\Umbraco.Core\\Composing\\Composers.cs:line 67\r\n   at Umbraco.Core.Runtime.CoreRuntime.Boot(IRegister register, DisposableTimer timer) in d:\\a\\1\\s\\src\\Umbraco.Core\\Runtime\\CoreRuntime.cs:line 152\r\n   at Umbraco.Core.Exceptions.BootFailedException.Rethrow(BootFailedException bootFailedException) in d:\\a\\1\\s\\src\\Umbraco.Core\\Exceptions\\BootFailedException.cs:line 57\r\n   at Umbraco.Web.UmbracoInjectedModule.<>c.<Init>b__23_0(Object sender, EventArgs args) in d:\\a\\1\\s\\src\\Umbraco.Web\\UmbracoInjectedModule.cs:line 438\r\n   at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()\r\n   at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)\r\n   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)","SourceContext":"Umbraco.Web.UmbracoApplicationBase","ProcessId":13124,"ProcessName":"iisexpress","ThreadId":13,"AppDomainId":4,"AppDomainAppId":"LMW3SVC2ROOT","MachineName":"RAGI-WORK","Log4NetLevel":"ERROR","HttpRequestNumber":2,"HttpRequestId":"814e8800-afae-47b7-9bb8-64390a08e5c9"}

I really don't know what could cause this?

My Dev Site runs on a SQLCE Database.

I hope someone can help me?

Regards

Gilles

Examine Lucene Boost() but ignore IDF (inverse document frequency)

$
0
0

I'd like to boost by a doctype parameter, so that results are artificially ordered (boosted) by that type. However, as lucene also scores by the document frequency, the type that I want to boost the the least ends up at the top of my results as there are less instances of that type.

{ Category: content, LuceneQuery: (hideFromSearch:0 +(__NodeTypeAlias:dtcontenttile) +(tileContentOrigination:external^31.0 tileContentOrigination:partner^32.0 tileContentOrigination:originator^33.0)) }

so because external has only 1 doc compared to 50 originator, external ends up the top result.

Or maybe this just isn't something that lucene can do with it's tf/idf approach?

ContentQuery Search results for 1 letter

$
0
0

Hi all,

When I am using ContentQuery search on my website I dont get results for 1 letter search term, 4 is minimum. Is there a way to change it?

I want to search all fields in all nodes and get results if search term is only 1 letter.

var easySearch = Umbraco.ContentQuery.Search("search term", null, "ExternalIndex");

Thank you

BR

Silvija

Set culture in published content request

$
0
0

Setting the Culture in PublishedRequest.Prepared shouldn't it give me IPublishedContent in that culture? I've set svas the default language but also enabled en-US and published the pages in both languages.

public class PublishedRequestComposer : IUserComposer
{
    public void Compose(Composition composition)
    {
        composition.Components().Append<PublishedRequestComponent>();
    }
}

To keep it simple I've hard coded the culture here.

public class PublishedRequestComponent : IComponent
{
    public void Initialize()
    {
        PublishedRequest.Prepared += PublishedRequest_Prepared;
    }

    public void Terminate()
    {
    }

    private void PublishedRequest_Prepared(object sender, System.EventArgs e)
    {
        var request = sender as PublishedRequest;

        request.Culture = new System.Globalization.CultureInfo("en-US");
    }
}

Get the translated names of the pages...

var names = Umbraco.ContentAtRoot()
    .FirstOrDefault(x => x.IsPublished())
    ?.Children
    .Select(x => x.Name);

But all I get is the names in sv...

Show image in Article item

$
0
0

Well, I have a problem like my Umbraco platform, I am trying to create a content blog and I want to show the header image and it doesn't show up.


    <header class="major special">
        <h2>@Model.Value("articlesTitle")</h2>
    </header>
    <img src="@Model.Value("ArticleImage")"/>
    <p>@Model.Value("fechaDeNoticia")</p>
    <p>@Model.Value("articleContent")</p>

</div>

I am trying to call the image node in the template and tried anyway to form and it doesn't work for me.

Variant and contentService API

$
0
0

Hi all,

I have several problems using the ContentService to create and publish nodes programmatically in a multilanguage environment.

Basically i have an hangfire task which periodically should sync (create, update and delete) some nodes.

I see there's an issue about that on Github but workarounds suggested by Shazwazza don't work for me. https://github.com/umbraco/Umbraco-CMS/issues/4452

I can only save the node while saveAndPublish throws the following error:

System.NullReferenceException: Riferimento a un oggetto non impostato su un'istanza di oggetto.
   in Umbraco.Web.Routing.RedirectTrackingComponent.get_Moving()
   in Umbraco.Web.Routing.RedirectTrackingComponent.get_LockedEvents()
   in Umbraco.Web.Routing.RedirectTrackingComponent.ContentService_Publishing(IContentService sender, PublishEventArgs`1 args)
   in Umbraco.Core.Events.QueuingEventDispatcherBase.DispatchCancelable[TSender,TArgs](TypedEventHandler`2 eventHandler, TSender sender, TArgs args, String eventName)
   in Umbraco.Core.Services.Implement.ContentService.StrategyCanPublish(IScope scope, IContent content, Boolean checkPath, IReadOnlyList`1 culturesPublishing, IReadOnlyCollection`1 culturesUnpublishing, EventMessages evtMsgs, ContentSavingEventArgs savingEventArgs)
   in Umbraco.Core.Services.Implement.ContentService.CommitDocumentChangesInternal(IScope scope, IContent content, ContentSavingEventArgs saveEventArgs, Int32 userId, Boolean raiseEvents, Boolean branchOne, Boolean branchRoot)
   in Umbraco.Core.Services.Implement.ContentService.SaveAndPublishBranchItem(IScope scope, IContent document, Func`2 shouldPublish, Func`3 publishCultures, Boolean isRoot, ICollection`1 publishedDocuments, EventMessages evtMsgs, Int32 userId)
   in Umbraco.Core.Services.Implement.ContentService.SaveAndPublishBranch(IContent document, Boolean force, Func`2 shouldPublish, Func`3 publishCultures, Int32 userId)
   in Umbraco.Core.Services.Implement.ContentService.SaveAndPublishBranch(IContent content, Boolean force, String culture, Int32 userId)
   in MacroluxWebsite.Jobs.SyncProduct.<Execute>d__4.MoveNext() in D:\Lavori\Macrolux\MacroluxWebsite\MacroluxWebsite\Jobs\SyncProducts.cs:riga 82
--- Fine traccia dello stack da posizione precedente dove è stata generata l'eccezione ---
   in System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   in System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   in System.Runtime.CompilerServices.TaskAwaiter.GetResult()

Could be related to the backgroud job context which is missing some reference?

Merchello Payment Providers

$
0
0

Has anyone attempted to integrate Verotel as a Payment Provider for Merchello? I think it would be similar to PayPal but I am struggling to get my head around it. It would need to generate a signature from some of the invoice, payment fields and pass them to Verotel as a query string with the signature for verificatikn, the customer fills in the Credit Card details at the Verotel end and then Verotel calls a Post back URL which checks a signature and if OK the processes the successful transaction, Verotel also handles subscriptions which I need to implement as well. Any pointers would be gratefully received. Thanks


How do I filter by multiple parent ids and selected nodes with examine.

$
0
0

I have a query I'm trying to build where I want to get all children of a set of nodes and also filter them based on nodes they have selected in a multi node tree picker.

The raw query I'm trying to build would be something like

+(parentID:1234 parentID:1235) +(categories:"umb://document/80e9e537776d45a2ada77fecf86e7142")

Unfortunately, I have been having trouble getting the queries to filter properly. I've tried generating this with the examine api using a combination of Field and Group, as well as native queries that match this structure, but neither returns the expected data. Part of my problem I suspect is the configuration of the built in ExternalIndex, as I'm not able to get results parentID in Luke, even though the same query with id. It's flags are configured differently.

Any ideas would be much appreciated.

Checklist values

$
0
0

Hey guys,

Im trying to list all the values in my checkbox list and If they're checked i need to wrap them in a div with the class "gotvalue". I found this code below, which just lists all my values. Im not sure on how to proceed from here - Got any suggestions?

 @{
                    var dataType = ApplicationContext.Services.DataTypeService.GetDataTypeDefinitionByName("Diet Direction");
                    var preValues = ApplicationContext.Services.DataTypeService.GetPreValuesCollectionByDataTypeId(dataType.Id).PreValuesAsDictionary.Select(x => x.Value).ToList();

                    var allTags = preValues;
                    }
                    @foreach (var item in allTags)
                    {

                    if(@item.Value != null) {
                    <div class="gotvalue"><a href="@item.Value">@item.Value</a></div>
                    }
                    else {
                     <div class="gotnovalue"><a href="@item.Value">@item.Value</a></div>
                    }

                    }

Get All Published & Unpublished Content in the custom property API Call in Umbraco 8.1.4

$
0
0

Hello All,

I have created one custom property for radio button selection which I got all published content in the list but as per my requirement, I need to get all published and Unpublished contents of the parent in the list in the back office.

In Umbraco 7 I got all children using the below code.

var contentService = ApplicationContext.Services.ContentService;
    var contentTypeService = ApplicationContext.Services.ContentTypeService;

    var list = contentService.GetChildren(Id).Where(con => con.Name.Contains(Key) || Key == "")
       .Select(x => new MyContent { ID = Convert.ToInt32(x.Id), Name = x.Name });

Now, I do the same process in the Umbraco 8 then I can`t get the list because ApplicationContext Service support removes in the Umbraco 8.

So, anyone has any idea about how to get all parent nodes children of published and unpublished in the list using Umbraco 8.1.4 version?

Thanks in advance.

Adding custom property editor to Grid Style (Spectrum Colour Picker)

$
0
0

Any ideas how to get this into the grid editor Style?

I expected that the defaults for the prevalue fields to work out of box. Though it would be nice to know how to configure them. (Maybe "config"?)

Tried this:

{
    "label": "Color Spectrum Background",
    "description": "Choose a color for the background",
    "key": "background-color",
    "view": "/App_Plugins/SpectrumColorPicker/SpectrumColorPicker.html",
    "applyTo": "row"
  }

Got this:

Grid Editor Style render from "view" property

Also dug a little more and seeing this error in the console:

 angular.min.js?cdv=1:63 TypeError: Cannot read property 'enableTransparency' of undefined
    at c.spectrumColorPicker (SpectrumColorPicker.controller.js?cdv=1:34)
    at d (angular.min.js?cdv=1:28)
    at Object.instantiate (angular.min.js?cdv=1:28)
    at angular.min.js?cdv=1:53
    at angular.min.js?cdv=1:44
    at n (angular.min.js?cdv=1:7)
    at k (angular.min.js?cdv=1:44)
    at e (angular.min.js?cdv=1:40)
    at angular.min.js?cdv=1:39
    at angular.min.js?cdv=1:158
(anonymous) @ angular.min.js?cdv=1:63

Update: I went ahead and added the config settings thinking that might be the issue and now have this...

Added:

"config": {
  "enableTransparency": "0",
  "preferredFormat": "hex"
},

Now, after clicking, I have this:

enter image description here

So that worked!!!!

Update Media Url programatically

$
0
0

I have a bunch of media files with a URL stored as <random string>.cloudfront.net and I want to update it to a nicer DNS name - i.e. <cdn.<host>.com.

I have tried updating the cmsContentNu records in the DB but they always seem to be changed back.

Is there an easy way to do this via the MediaServices?

Gettings translations from viewmodels

$
0
0

Hello!

I've setup our Umbraco site to use translations. This works fine in my templates. Now I'm trying to add the translations in my viewmodels. These viewmodels contain validations messages in attributes (standard MVC validation).

My current approach in to set the key in the ErrorMessage of the property, like so:

[Required(ErrorMessage = "MyKey")]
public string UserName { get; set; }

Then in the OnActionExecuting override method in my SurfaceController I'm replacing the keys in the ErrorMessages by the actual value of the key:

protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
    ModelState.Values.ToList().ForEach(e =>
    {
        var allErrorKeys = e.Errors.Select(x => x.ErrorMessage).ToArray();
        e.Errors.Clear();
        foreach (string errorKey in allErrorKeys)
        {
            var item = Services.LocalizationService.GetDictionaryItemByKey(errorKey);
            e.Errors.Add(item.Translations.ToList()[0].Value);
        }
    });
}

Although this code needs some refactoring, it works.

But I'm not so happy with this code, it's hacky... Is there an out of the box way of translating messages in viewmodels? Any other suggestions at all?

Thanks!

No url found for api name legacyTreeJs in login 7.2.5

$
0
0

I know that this bug has been discussed before and I've tried all solutions that I can find but still not able to solve this.

We have a delicate solution here where we have two installations of Umbraco 7.2.5 running with one of the applications as a virtual directory/application in the other one. The subsite is in a separate folder outside.

Why are we doing this? Because the customer wants to have the following structure: Umbraco 1 handles www.mydomain.com Umbraco 2 handles www.mydomain.com/subsite

The reason is that we have an external system integrated in each installation that should only work with that website. And the customer wants to be keep the domain structure with "/subsite".

Umbraco 2 is basically a copy of Umbraco 1 with the same templates and so on.

Everything looks fine when running the sub application on the frontend but we cant log in to Umbraco. The server time is up to date so thats not the problem. One strange thing that I noticed is in the response of PostLogin where we get the following json: )]}', {"email":"myemail@domain.com","locale":"sv-SE","emailHash":"xxx","userType":"admin","remainingAuthSeconds":1200.0,"startContentId":-1,"startMediaId":-1,"allowedSections":["content","developer","forms","media","member","seochecker","settings","users"],"id":0,"name":"admin"} It adds ")]}'," in the response? Dont know if that is of any help.

Does it help to upgrade the site further or is that not the problem? We are not keen to upgrade it right now as it might raise problem with the other system integrated,

Or do anyone know of a better solution?


Get Member email value

$
0
0

In Umbraco v8.1.5

Whatever i seem to try it doesn't work to find a Member's email address

I have created 2 MemberTypes "Owner" and "Student" each containing their respective fields, i am also using ModelsBuilder

i have a list with all the members the list contains IPublishedContent types or i just take the currentuser

var member = Umbraco.MembershipHelper.GetCurrentMember();

This retrieved member (when logged in) is of a ....DOMAIN.Models.Owner

In umbraco on the Members tab i can add a Login and an Email address but somehow i don't seem to be able to retrieve this in the backend.

i've tried several method's

var mail = member.Email;

but the property is not existing on the member type.

var mail = member.GetProperty("Email").Value<string>();

this is returning an empty string

var mailProperty = member.GetProperty("Email");
var mailText = mailProperty.Value<string>();

The property is found, but its value seems an empty string.

What is the proper way to retrieve the Member's core properties?

How to get the URL from the content picker on the root document?

$
0
0

Hello, I've a content picker 2 property editor with the alias umbracoInternalRedirectId in the root document to specify the home page of web site. When i try to get the URL of home page in navigation macro i get error with the following code:

var site = Model.Content.AncestorOrSelf(1);
var homeLink = "";
if (site.HasProperty("umbracoInternalRedirectId"))
{
    IPublishedContent homeNode = site.GetPropertyValue<IPublishedContent>("umbracoInternalRedirectId");
    homeLink = homeNode.Url;
}

The error i get is : Exception: System.NullReferenceException: Object reference not set to an instance of an object.

Any helps please?

UPDATE: When i test the same process with the alias test it works? Is there any special issue with the alias umbracoInternalRedirectId ?

Custom property from Umbraco.Content in v8

$
0
0

Hello,

Hopefully, this is an easy one for somebody here.

I'm using Umbraco.Content() and I need to get a propertyvalue.

In version 7 I could just write:-

page1.GetPropertyValue

but in Umbraco 8 I don't seem to have this option anymore. I've used Model.Value() in other parts of v8 but it's not available for the page I'm working on Umbraco.Web.Mvc.UmbracoViewPage

Any ideas how I can pull a custom property from Umbraco.Content in v8?

Thanks

Subsequent content update in case of content update in content template in all content types where it's used

$
0
0

Hi,

I have certain Content template and few Content documents using it. Is it possible to update content in all content documents, when I make content update in the content template.

I'll really appreciate your help.

Have a great day, Sandra26

Strange resizing of images

$
0
0

First of. Great package!.

Im using it in a bootstrap site, and am experincing strange resizes. Maybe you can help figure out why...

Im rendering this:

It outputs this:


And renders this:

The image is 160x160 pixels!?! Though its told to be 400x400pixels...

Why? Is it a bug or a feature? If its a feature, can someon please explain it?

Viewing all 72689 articles
Browse latest View live


Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>