websphere 8.5.5 admin console changes - console

We have an application deployed in websphere 8.5.5. We want to verify the session management settings, if we modify session management settings like cookie config settings and save the changes, where exactly the changes are stored?
Is it stored in web sphere's file or in the web.xml of the deployed application?

You can always instead of Save click Review and then expand changed files. You will have list of changed xml files.

If a change is made at JVM level, Application servers > SERVER_NAME > Session management, then the server.xml for the JVM is updated PROFILE_NAME/cells / CELL_NAME /nodes/ NODE_NAME /servers / JVM_NAME /server.xml
If change is made at application level,
Enterprise Applications > NAME_OF_APPLICATION > Session management
then deployment.xml will show the changes
PROFILE_NAME/cells/ CELL_NAME /applications/ APPLICATION_NAME /deployments/ APPLICATION_NAME / deployment.xml

Please do the next step by step
Web admin Console
Application servers > server1 > Session management > Save
Save your workspace changes to the master configuration.
Click Save to update the master repository with your changes. Click Discard to discard your changes and begin work again using the master repository configuration. Click Cancel to continue working with your changes.
Expand or collapse Total changed documents: 1
Changed Items Status
cells / server1Cell01 / nodes / server1TPNode05 / servers / server1/ server.xml Updated
Synchronize changes with Nodes
Server file
/usr/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/Server1Cell01/nodes/server1TPNode05/servers/server1/server.xml:
Thanks and regards
tandn

Related

Odoo 10 - Access denied for biller to register payment

I've two server environments, One for testing and the other for production.
Both are working on Ubuntu server 16 and running Odoo 10 Enterprise edition. The only difference is that on the production server I used Nginx to allow Odoo working on port 80 instead of 8069.
Before we migrate our database to the production server, everything was working smoothly. Now the problem is when the sales person who has permissions of "Sales / User: All Documents" and "Accounting & Finance / Billing" tries to register payments for an invoice he gets this message
However he doesn't get the same message in the test server in which the database is the same as the production server db. I checked the access control list of model "account.journal" in both databases and there was no difference between them. I checked the log file and found this error.
odoo.addons.base.ir.ir_model: Access Denied by ACLs for operation: write, uid: 38, model: account.journal
I understand the problem lies in the access permissions. But my question here is why the Sales person was able to register the payment in the test server but not in production server. can anyone help me to understand why this could happen and how to fix it. Could it be due to Nginx?!
Hi you can check your odoo version release, if you download odoo using git you can check it using git log command in your odoo directory, if your last commit is deferent ( local and productio ) maybe that is the problem.
Actually, you can update manually the access right for account.journal table.

Any instance that can delete web.config file

We have a webfarm with 2 servers, both has the DFS replication implemented. We have a section on homepage which displays 4 articles known as "TopStories" and are cached so that it does not fetches from database everytimeNow when editors updates the Topstories, that change should get live immediately to the end users across the web-farm, now say editor made the changes to the Topstories on server 1 and the end-user who accessed the website was taken to server 2, so user won't be able to see the latest updates on topstories, as on server 2 it will still fetch from cacheSo for this we recycles the app-pool by updating the web.config file.
We are using below code to make an update in appsettings element of web.config.
public void RefreshWebConfig()
{
//XmlDocument doc = new XmlDocument();
//doc.Load(HttpContext.Current.Server.MapPath("web.config"));
//doc.Save(HttpContext.Current.Server.MapPath("web.config"));
System.Configuration.Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
System.Configuration.KeyValueConfigurationElement setting = config.AppSettings.Settings["TopStorySessionKey"];
int SessionKey = 0;
if (setting != null)
{
SessionKey = Convert.ToInt32(CommonUtil.GetConfigurationValue<int>("TopStorySessionKey"));
if (SessionKey == 100)
SessionKey = 0;
config.AppSettings.Settings["TopStorySessionKey"].Value = Convert.ToString(SessionKey+1);
}
else
{
config.AppSettings.Settings.Add("TopStorySessionKey", SessionKey.ToString());
}
config.Save();
}
I have 2 questions related to this:
In any instance updating the web.config's app-setting key could delete the whole web.config file using the above code?
Is there any better way to replicate the change on both the servers.
Thanks in advance.
In any instance updating the web.config's app-setting key could delete the whole web.config file using the above code?
I can't see how this code as written would delete the web.config, but it's a rather indirect way to force the app pool to recycle. You can do it directly:
Restarting (Recycling) an Application Pool
Is there any better way to replicate the change on both the servers.
It is rather expensive to recycle the entire app pool just to invalidate a small cache. Instead, consider using a MemoryCache. If you can place the latest articles e.g. a file (whether a single file accessed as a network share, or as a copy of the file on each web server), you can use a file dependency to expire the cache. If the articles are in a SQL database, you can use a SqlChangeMonitor to expire the database. If you can allow the latest articles to be e.g. 2 minutes old, you can use sliding expiration to reload the cache every so often.

autorun a program on client in LAN

I am doing a Project on LAN of an internet cafe. I have a scenario in which 9 nodes and a server is attached with a switch. I have a "reboot and restore" application hosted on a server. So when a client node reboots the particular application on server auto runs and restore the settings on client node.
I want to know which application server will be used for particular store and reboot application with auto start settings?
Look, as for as Auto Star feature is concerned, You can add (to my experience) any application to the startup calls of Windows (assuming you are a windows user)....and the procedure is not that tough,
go to start -> program -> start up ( The idea is to open this folder for you required user)
paste a shortcut of your application executable in to it..
when next time, windows will login, it will load all the applications present in this folder ( and others coming from different Registery Entries ) and thus your application will become Autostart..
and the other thing, I saw a few cafes / offices using an application named "freeze". what this application does is, it creates a snap of user settings, and each time when system is logged in, this application loads and restore that snap shop of user settings...thus, you are able to have predefined settings always applied to such scenarios as yours..
Hopes this helps..

Sitecore has no necessary permissions for reading/creating counters

In the Sitecore (6.6 v130404) log file there are so many "Sitecore has no necessary permissions for reading/creating counters." records being created. I have disabled the performance counters in the server.
<!-- ENABLE COUNTERS
Indicates if performance counters are enabled.
Default value: true
-->
<setting name="Counters.Enabled" value="false"/>
Log extract: (For every 6seconds this keeps updating the log)
Heartbeat 19:07:33 WARN Sitecore has no necessary permissions for reading/creating counters.
Heartbeat 19:07:39 WARN Sitecore has no necessary permissions for reading/creating counters.
Heartbeat 19:07:45 WARN Sitecore has no necessary permissions for reading/creating counters.
Heartbeat 19:07:51 WARN Sitecore has no necessary permissions for reading/creating counters.
I have modified the following webconfig setting and set the value as 1hour, as the above log mentions that it's related to a heartbeat setting.
This solved the problem. I have Googled for any effects with this change in this setting, found no results on this. Is this ok to set this setting to 1hour? What is the purpose of this setting?
A Sitecore application pool user (most probably Network Service user) has to be a member of the system “Performance Monitor Users” group to have access to the mentioned registry key. Adding the user to this group and restarting IIS should solve the problem.
As explained in approved answer you need to add app pool user to performance monitor users and performance log users group.
To add your app pool user add iis apppool\{site name}.
You need to restart your machine again or alternatively restart your iis and log off and log in to make sure your changes got picked up by user group membership
Here are a few screenshots.
Powershell solution (works on Windows 10 Home, where you don't have lusrmgr.msc console).
Run PS console as administrator then:
PS C:\WINDOWS\system32>Add-LocalGroupMember -Group "Performance Monitor Users" -Member "{UserName}"
PS C:\WINDOWS\system32>iisreset
Where the {UserName} is your application pool identity user or Network Service.
Mind that group name may be different (it may be in your local language for non-english Windows version). Then call:
PS C:\WINDOWS\system32>Get-LocalGroup
This will list all groups and you will find correct name there.

Publishing many items uses a lot of memory

I have a problem similar to this, although hopefully I've narrowed it down a little.
I am currently testing the publishing part of my Tridion 2011 installation (Conent Manager and Content Delivery on separate servers). When I try to publish many pages at once (1000 in my case) the process dllhst3g.exe *32 starts to acquire a large amount of memory. This is understandable as there is a lot of work to do but it never gives it back. This is causing the content manager to run slowly and eventually crash.
I was getting out of memory exceptions being thrown by the Tridion Content Manager when the dllhst3g.exe *32 process had around 3.6GB of memory (I assume this is due to it being a 32 bit process). To prevent these I limited the SDL Tridion Content Manager COM+ Application to an arbitrary 500Mb per process which gets forcibly terminated 15 minutes after the limit is reached. This has stopped the out of memory exceptions for now but I still have performance issues and a potential to run out of memory if more than my servers 8GB is allocated in the 15 minute window. More about this here
I have ruled out the underlying PageTemplate code as the associated page template has no code associated. These pages are blank.
The issue also seems to be much more prominent when using the Core Service API. Code I am using is
using (var client = new Tridion2011CoreService.CoreServiceClient())
{
foreach (var id in ids) // ids is a collection of 500 page ids
{
// publishing to staging and live
var targets = new string[] { "tcm:0-7-65538", "tcm:0-8-65538" };
var publishInstructionData = new PublishInstructionData();
publishInstructionData.ResolveInstruction = new ResolveInstructionData();
publishInstructionData.RenderInstruction = new RenderInstructionData();
var readOptions = new ReadOptions();
client.Publish(new string[] { id }, publishInstructionData, targets, PublishPriority.Normal, readOptions);
}
}
(I realise I could send all the ids through with one call to publish but then I hit a message limit error and as far as I am aware the result of multiple calls and single calls is effectively the same)
Any ideas?
(let me know if I have missed out any details and I'll update the question accordingly)
Forgot to add. The Content Manager is installed on a virtualised Windows Server 2008 with 4 CPUs, 8GB RAM and 50GB disk space. The Content Delivery is installed on a separate server with the same specs.
After contacting SDL customer support I was told that the only solution is to recycle the dllhost process when it takes up a pre-determined amount of memory.
To do this for SDL Tridion Content Manager 2011 running on Windows Server 2008
Open Component Services (either search for it or Control Panel -> Administrative Tools)
Expand the tree Component Services -> Computers -> My Computer -> COM+ Applications
Right click SDL Tridion Content Manager and select Properties
Select the Pooling & Recycling tab
Set Pool Size to 1
Set Lifetime limit to 0
Set Memory Limit to 524288 (512 MB) or choose your own limit (I'd go for a value less than 1GB)
Set Call Limit to 0
Set Activation Limit to 0
If you can, restart your system. Otherwise, restart all the Tridion Services (Control Panel -> Administrative Tools -> Services and restart everything that starts with "Tridion")
Maybe the "real" fix is but a patch away...
Try monitoring the transport package root folder. This would be set in SDL Tridion MMC snap in. Default value would be C:\temp in CMS server. Please check the work area folder of transport which would be set in cd_transport config xml in Tridion installed folder\Config. Also check for the deployer incoming and work folders.Large volume of files accumlating in these folders may cause in poor performance and try cleaning up these folders if you have errored out folders or files to prevent Tridion from retrying the failed transactions. Also if your deployer is runnning as a website-httpupload.asp, try verifying the application domain recycle settings of deployer just to make sure you're not resetting appdomain every few minutes.
You could also try looking in to related items of your publish items.If you have lot of versions or unwanted related items, you could think of custom resolving of publish items to avoid unwanted components with a particular schema etc.Nuno has provided a very good
article in below link. Thanks to Nuno.. http://nunolinhares.blogspot.nl/2011/10/tridion-publisher-and-custom-resolvers.html

Resources