How to Remove Automatic Block from Downloaded Files

Problem:

After you download a file, you open its Properties and find that it is automatically marked with “This file came from another computer and might be blocked to help protect this computer.” warning and you have to unblock the file manually by selecting the “Unblock” check box.

Solution:

1. Open Group Policy Editor (gpedit.msc) as Administrator.

2. Go to User Configuration > Administrative Templates > Windows Components > Attachments Manager.

3. Enable Do not preserve zone information in file attachments option.

What is zone information?

Zone information is the information about the zone of origin (such as restricted, Internet, intranet, local) of downloaded files.

By default Windows marks downloaded files with information about their zone of origin (such as restricted, Internet, intranet, local) to make risk assessments in order to warn users when they open or execute files which are marked as being from the Internet or Restricted Sites zone, unless the file’s zone information has been removed.

 

How to Pose a Software Engineering Research Question?

Motivation:

You begin to do software engineering research.
You want to have a research question.
You have several ideas but you wonder whether they are good enough for conducting a research.

Suggestions:

1. Your question should contain well-defined terms.
Are you talking about something that everyone mostly agree about its definition and core characteristics.
For example, are you talking about Microservices, Event Sourcing, Relational Database, NoSQL, Unit Tests, Go Language, Speech Recognition, Speech Synthesis?

2. Your question should have a purpose and specific audience.
Why should the audience be interested in your question?
For example, are they going to upgrade a an event sourcing system? Are they going to apply test automation in our project?
Do they have specific security issues with their system?
Have they gotten specific performance issues with their system?
Are they going to build a new identity management platform for their legacy system?
Do they need to accelerate the development of a portal for their legacy system?
Are they going to integrate voice search into their existing system?

3. Your question should have verifiable answer.
What are the possible answers to your question? How can we compare these answers.
What is your concrete answer?
How can we replicate your answer?
How can we test your answer against the existing “standards“.

 

 

 

WordPress Lessons Learned

Lessons learned 1: Maintenance creep.

Problem:

The cost of updating the core, updating plug-ins, and updating integration code for a system built with WordPress is much higher than expected.

Context:

WordPress core, its themes and plug-ins can provide a very fast solution by integrating their features. It works best for used for achieving a general solution (for example corporate websites with predefined business processes).

However their very frequent updates are painful too.

If we do not apply the updates to the system then we may have risk of potential security issues.

Therefore the maintenance of a WordPress based system usually takes more effort than systems built using other web frameworks that do not require very frequent updates.

The problem become worse when we apply the updates to the system and the integration may be broken because of incompatibility among the plug-ins owned by different software providers and WordPress.

Solution:

If you have have opportunity of building a system for a client using WordPress and its plug-ins then you should plan a considerable maintenance budget for updating WordPress, specific plug-ins and integration code.

This lesson learned applies to any system built with a plug-in based architecture (i.e. microkernel architecture) in which the core and plug-ins owned by different software providers.

Lessons learned 2: Customization creep.

Problem:

The cost of integrating a theme with various COTS plugins and integration code for building a system using WordPress is much higher than you expected.

Context:

Customizing a WordPress solution for specific business processes takes more effort than using other general web frameworks because we do not have full control of the themes and plug-ins.

Even we can modify the themes and plug-ins or build new specific plug-ins using PHP and mySQL the solution still depends on WordPress core the architecture of which is not good for domain-specific enterprise systems which often rely much on domain-specific rules that should be isolated from specific infrastructure.

Solution:

If you have have opportunity of building a domain-specific system using WordPress and its plug-ins then you should

  • refine business requirements into appropriate user stories or use cases.
  • create an architecture first and evaluate it carefully using various scenarios, and
  • create a poof of concept.

Lessons learned 3: WordPress and Salesforce integration decision.

Motivation:

You need to evaluate options for integrating WordPress with Salesforce so that development and maintenance cost is acceptable.

Solution:

IMO an enterprise solution based on Salesforce and WordPress integration may be proposed based on a client’s needs and budget.

I define a long term project as a project many big enhancements of which will be required after the solution is deployed.

I define a short term project as a project only some small enhancements of which will be required after the solution is deployed.

I define an important project as a project the requirements of which must be satisfied exactly as the Client requires.

I define a flexible project is a project the requirements of which may be implemented not exactly as the Client requires due to constraints of tools.

If the client needs Salesforce CRM (a must requirement) and they have a big budget then I would recommend that they use Salesforce for file storage and all Salesforce tools (i.e. LWC, community portals) for implementing their own business processes for a long term and important project.

If the client needs Salesforce CRM (a must requirement) and they have medium budget then I would recommend that they use BOX or DropBox or Sharepoint for file storage and all Salesforce tools (i.e. LWC, community portals) for implementing their own business processes for a long term and important project.

If the client needs Salesforce CRM (a must requirement) and they have low budget then I would recommend that they use WordPress for file storage and Commercial off-the-shelf (COTS) plug-ins for implementing their own business processes for a short term or “flexible” project.
In this case, the development effort may be reduced much but the maintenance/enhancement effort may be increased much.

If the client does NOT really need Salesforce CRM and they have medium budget then I would recommend that they use general frameworks and tools (including WordPress and custom plug-ins) for implementing their own business processes for a long term and important project.
File storage can be local server or any service.

If the client  does NOT really need Salesforce CRM and they have low budget then I would recommend that they use WordPress for file storage and WordPress COTS plug-ins for implementing their own business processes for a short term or flexible project.