• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

CF 2021 Update 10 failed to install

Community Beginner ,
Sep 13, 2023 Sep 13, 2023

Copy link to clipboard

Copied

Hello,

I am having issues updating CF2021 Update 10. After running the install i recive this error at the end of the update wizzard

CF2021Update10-Failed.png

The log file show these errors:

Installation: Unsuccessful.

148 Successes
1 Warnings
2 NonFatalErrors
2 FatalErrors

Action Notes:

Failed to copy hotfix files:C:\Users\administrator.BAYNET\321779.tmp\dist\updates: Failed to copy the hotfix files to the target location. Retry installation after ensuring that the server is not running or files are not locked by the server.

Failed to copy hotfix files:C:\Users\administrator.BAYNET\321779.tmp\dist\wwwroot: Failed to copy the hotfix files to the target location. Retry installation after ensuring that the server is not running or files are not locked by the server.


Failed to copy hotfix files:C:\Users\administrator.BAYNET\321779.tmp\dist\updates
Additional Notes: 
FATAL ERROR - Failed to copy the hotfix files to the target location:C:\ColdFusion2021\cfusion\lib\updates
FATAL ERROR - C:\Users\administrator.BAYNET\321779.tmp\dist\updates (The system cannot find the file specified)

Failed to copy hotfix files:C:\Users\administrator.BAYNET\321779.tmp\dist\wwwroot
Additional Notes: 
FATAL ERROR - Failed to copy the hotfix files to the target location:C:\ColdFusion2021\cfusion\wwwroot
FATAL ERROR - C:\Users\administrator.BAYNET\321779.tmp\dist\wwwroot (The system cannot find the file specified)

CF starts and im able to browse it but certain pages do not work for example the Package Manager page is blank and this error is displayed

PackageManager.png

 

- We are running CF 2021 standalone server (Server Configuration) on Windows Server 2019.

- I ran Update 10 by first downloading the update from CF admin then using CMD to run the update (this is our normal procedure and have run all updates this way without any issues)

- I also manually stopped the CF service prior to running the update as we have in past seen issues with the install stopping the service.

- CF 2021 Update 10 release notes (https://helpx.adobe.com/coldfusion/kb/coldfusion-2021-update-10.html) has an Alert for note about The Oracle Java CPU update. However it notes that if using java bundled with CF there should be no issues with the update. We are using the CF bundled java so this should not be an issue.

 

I have tried the following:

1) Retired the update - failed with same error

2) Rolling back the update by restoring folders from the backup directory

3) I also had a manuall backup of the CFHOME folder prior to running update so tired restoring that but it throws a 500 page.

4) Reviewed installed packages by running cfpm.bat. I compared the list with another CF2021 (running update 9) instance on a different 2019 Windows Server. There is one missing plugin which is pmtagent. So i tried installing that using cmd install pmtagent in cfpm.bat. but its failing to install with following error: Sep 13, 2023 10:34:20 AM Error [Thread-20] - An error has occurred while installing the package pmtagent. Exception : Activator start error in bundle perfmon [266].

However Im not sure if it is required

 

Thanks,

 

TOPICS
Server administration

Views

904

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Beginner , Oct 06, 2023 Oct 06, 2023

Hello Community,

 

Thanks for all the replies and ideas.

I ended up opening a case with CF Support and turns out the issue is related with Java. Specifically Java version 11.0.20.

I ran the upgrade successfully using this command

java -Djdk.util.zip.disableZip64ExtraFieldValidation=true -jar C:\ColdFusion2021\bundles\updateinstallers\hotfix-010-330161.jar

I will also try updating the java next time and run it without the extra flags in command that cf support suggested.

here is a link to the java versi

...

Votes

Translate

Translate
Explorer ,
Sep 13, 2023 Sep 13, 2023

Copy link to clipboard

Copied

This may be a silly question as it sounds like you're well practiced in the upgrade process, but when you ran the installer from the cmd line, were you in with administrator credentials? Just a hunch that this may be coming into play.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Sep 13, 2023 Sep 13, 2023

Copy link to clipboard

Copied

Yes i ran the cmd as administrator.

Ill also note that i am logged in as the domain admin. And the windows service uses a domain account as the Log On account and this account has full rights on CFHOME.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 16, 2023 Sep 16, 2023

Copy link to clipboard

Copied

Hi @georget37352040 ,

ColdFusion's error message is clear. Your installation includes the following unusual paths:

 

C:\Users\administrator.BAYNET\321779.tmp\dist\updates 
C:\Users\administrator.BAYNET\321779.tmp\dist\wwwroot

 

ColdFusion seems unable to find them.

 

A suggestion:

  1.  Open  the Command-Prompt as administrator. Use the Package Manager tool [ColdFusion2021\cfusion\bin\cfpm.bat] to run the command uninstall ALL 
  2. Restart ColdFusion 2021.
  3. Once again, open  the Command-Prompt as administrator. Use the Package Manager tool [ColdFusion2021\cfusion\bin\cfpm.bat] to run the command install ALL 

    Does that help?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 16, 2023 Sep 16, 2023

Copy link to clipboard

Copied

George, if that doesn't solve the problem, please see my reply from the day you first wrote (though it appear below due to the threading here).

 

Or let us know if you've solved the issue. 


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Sep 19, 2023 Sep 19, 2023

Copy link to clipboard

Copied

Hello BKBK,

 

I  reinstalled the packages using your steps above.

After the install ran the list cmd to get all installed packages and all were installed except for pmtagent.

It looks like the install ALL also tried to run Update 10 but failed. see screenshot below.
cfmbat-install.png

In the [ColdFusion2021\cfusion\logs\coldfusion-error.log im seeing a lot of xmlserach related errors

SEVERE: Servlet.service() for servlet [CfmServlet] in context with path [] threw exception [Servlet execution threw an exception] with root cause
java.lang.NoSuchMethodError: coldfusion.runtime.CFPage.XmlSearch(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
	at cf_core2ecfm1738097618$funcGETINSTALLEDUPDATES.runFunction(/CFIDE/administrator/updates/_core.cfm:733)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:629)
	at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:522)
	at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:469)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:444)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:316)
	at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:4996)
	at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:4976)
	at cf_core2ecfm1738097618$funcGETCOREUPDATESTRUCT.runFunction(/CFIDE/administrator/updates/_core.cfm:801)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:629)
	at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:522)
	at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:469)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:444)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:316)
	at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:4996)
	at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:4976)
	at cf_core2ecfm1738097618._factor4(/CFIDE/administrator/updates/_core.cfm:828)
	at cf_core2ecfm1738097618.runPage(/CFIDE/administrator/updates/_core.cfm:1)
	at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:257)
	at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:749)
	at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:578)
	at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:5177)
	at cfindex2ecfm1305467142._factor9(/CFIDE/administrator/updates/index.cfm:155)
	at cfindex2ecfm1305467142.runPage(/CFIDE/administrator/updates/index.cfm:1)
	at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:257)
	at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:749)
	at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:578)
	at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
	at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:605)
	at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:43)
	at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
	at coldfusion.filter.PathFilter.invoke(PathFilter.java:162)
	at coldfusion.filter.IpFilter.invoke(IpFilter.java:45)
	at coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:30)
	at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:97)
	at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
	at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
	at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:60)
	at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
	at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
	at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
	at coldfusion.CfmServlet.service(CfmServlet.java:232)
	at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:311)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:46)
	at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:47)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at coldfusion.inspect.weinre.MobileDeviceDomInspectionFilter.doFilter(MobileDeviceDomInspectionFilter.java:57)
	at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:47)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at coldfusion.filter.ModuleCheckFilter.doFilter(ModuleCheckFilter.java:104)
	at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:47)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at coldfusion.filter.ClickjackingProtectionFilter.doFilter(ClickjackingProtectionFilter.java:84)
	at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:47)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:377)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.base/java.lang.Thread.run(Thread.java:834)

 

As for the unusual path (C:\Users\administrator.BAYNET\321779.tmp\dist\) im not sure why its picking this path up. Coldfusion is installed on C:\ColdFusion2021\cfusion\

 

Thanks,

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 19, 2023 Sep 19, 2023

Copy link to clipboard

Copied

George, you may be nearly done. This xmlsearch matter is a new problem (new in terms of your reporting it here, but introduced with update 5). And it can be solved by your stopping cf, renaming the cfusio/wwwroot/WEB-INF/cfclasses folder to anything else, like cfclasses-old, then start cf.

 

You say this error is littering your logs. Doing this will stop that. Then can you get into your cf admin? If so, what update are you on? See the first line of the "settings summary" page. If (despite the first error you show in the screenshot) you're on update 10, you're perhaps done.

 

You could also visit the cf admin package manager page to see if it shows any outstanding modules to be updates. Hopefully not. If so, you can try updating one or all on that page. Some don't even require a cf restart. 

 

Finally, if things remain unresolved, I'll repeat what I said below: things may have been botched in some non-standard manual steps you said you took. And since you say below this is a nonprod machine where you're not interested in paying for help, it may be that uninstalling then reinstalling cf may be more expedient for you. 

 

Note that you could use either the old cf admin car file export mechanism or the new CLI cfsetup json export feature (added in cf2021) to save off your current admin settings. I'd recommend you should BEWARE just copying/saving off the current neo-xml files and restoring them. There's a chance some of your problems are in those.

 

As always, just trying to help. Some problems are just hard to resolve in forums like this. But we're here for you. 


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 19, 2023 Sep 19, 2023

Copy link to clipboard

Copied

As for the unusual path (C:\Users\administrator.BAYNET\321779.tmp\dist\) im not sure why its picking this path up.

 

This kind of error pops up here and there, and usually has to do with how the code was previously stored during the install process. So it's not entirely surprising to see it here. Out of curiosity, is the machine or domain named BAYNET?

 

Dave Watts, Eidolon LLC

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Sep 19, 2023 Sep 19, 2023

Copy link to clipboard

Copied

Hello Dave,

 

Yes baynet is the domain.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 21, 2023 Sep 21, 2023

Copy link to clipboard

Copied

So, this sounds like a temporary directory created for unpacking the files. Nothing to see here. Of course, that doesn't solve your problem, it just provides a little bit of additional information.

 

Dave Watts, Eidolon LLC

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 13, 2023 Sep 13, 2023

Copy link to clipboard

Copied

I had the same first suspicion as Jim. Since you say that's not the issue, and given all else you tried, I highly doubt you'll find resolution via back and forth here (though of course you may).

 

I'll say I'm especially concerned that your point 2 above. You should have used the updater's uninstall option instead, which can ALSO be run from the command line. But I realize you may not have done that before and were scrambling. You may have messed things up with that step. 

 

But it's NOT necessarily true that you "have no choice but to reinstall at this point", as many would might feel if in your situation. (And even then, that would not explain what happened in the first place, nor how to prevent it next time.) 

 

I'll say that if it's more important that the problem be solved (and soon) rather than be solved "for free" (over time) here, I'll propose that I'm VERY confident I could help you (via a remote desktop consulting session) to both a) get things running without error again, and then b) get that update implemented. I can't say how long it WOULD take, but it could easily be less than a half hour--though it could take longer if your step 2 can't be overcome easily.

 

Most important, if you don't find the time valuable you'd not pay for it. But I do help people solve such gnarly problems daily. You can find more on my rates, approach, satisfaction guarantee, and online calendar link at the consulting page of carehart.org. And while that calendar will only offer time tomorrow (not tonight), I can offer time tonight if this is urgent for you. In that case, email or call me at the number offered there.

 

Looking forward to your resolution, however you may get to it. 


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Sep 19, 2023 Sep 19, 2023

Copy link to clipboard

Copied

Hello Charlie,

 

This is currently on a Development server and therefore i will continue to work away at it using the "free" community support.

 

Thanks for your offer

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 19, 2023 Sep 19, 2023

Copy link to clipboard

Copied

The support here is indeed free (no need of scare quotes). And we nearly always can solve problems here (and in case you may or may not be aware, I offer hours of free support here per day, as do others). As for your new problem reported today, I'll offer your solution in reply to the other thread. You're almost home. 


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Sep 19, 2023 Sep 19, 2023

Copy link to clipboard

Copied

Hello Charlie,

 

The quotes were just to point out i wanted to continue with the free form support and not scare quotes.

Sorry for confusion.

Thanks

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 22, 2023 Sep 22, 2023

Copy link to clipboard

Copied

Weird situation you got there, @georget37352040 .

I just got an idea. Go to C:\ColdFusion2021\bundles\updateinstallers. Share with us the files that are there. A printscreen would be convenient. For example,

BKBK_0-1695369161440.png

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Oct 06, 2023 Oct 06, 2023

Copy link to clipboard

Copied

Hello Community,

 

Thanks for all the replies and ideas.

I ended up opening a case with CF Support and turns out the issue is related with Java. Specifically Java version 11.0.20.

I ran the upgrade successfully using this command

java -Djdk.util.zip.disableZip64ExtraFieldValidation=true -jar C:\ColdFusion2021\bundles\updateinstallers\hotfix-010-330161.jar

I will also try updating the java next time and run it without the extra flags in command that cf support suggested.

here is a link to the java version with issues

https://liferay.dev/blogs/-/blogs/important-jdk-11-0-20-notice

 

Thanks,

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 06, 2023 Oct 06, 2023

Copy link to clipboard

Copied

LATEST

George, it's great your problem is resolved, and thanks for sharing the update. As for why that solution was not brought up before now, you had said originally that you'd seen the warning about this in the update 10 technote, but you said you did a manual update "using the CF bundled java so this should not be an issue.".

 

To be clear (for readers following along), this error (needing that new jvm arg in a manual install of the cf update) does indeed only happen if folks either a) change their cf to run on the jvm update released in July (11.0.20 for those on cf2021, 17.0.8 for those on cf2023) and use the cf admin to do the cf update, or b) they use that jvm to do a manual/command line (java -jar) update. 

 

I'd have suggested it as a solution to consider if you'd not said what I quote. Not complaining, just explaining the lack of perhaps a faster resolution for you.

 

Since you say you DID use the command line installer of the update (versus using the admin), it would seem you HAVE to have unexpectedly been running the updated Java for that command line install. That's the only way the problem could occur (when this is the solution). 

 

As for the resource you shared (from liferay), I'll note also that in the discussion of the matter at the top of the cf update technotes from August, Adobe does kindly point to my blog post on the matter, as I discovered the problem and the solution and documented it days after the new jvm update came out. I'm just noting that I discuss it from a cf perspective, regarding cf updates. (Liferay is indeed one of many other Java apps that suffered due to this Java change, as I point to at the bottom of my post.) 

 

Finally, for interested readers, the problem remains with the cf updates that came out today, Oct 6, as mentioned at the top of the technotes for them: update 5 of cf2023 and update 11 of cf2021. FWIW, those technotes also indicate that the NEXT cf update is planned to finally resolve this problem, so that updates in the cf admin or cmd line work as expected--even if the cf jvm is updated-- and without need of this special arg at the command line. 

 

As always, I'm just trying to help folks. There are indeed a lot of balls to juggle with all this stuff! 🙂 


/Charlie (troubleshooter, carehart.org)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Documentation