• Home

  • Custom Ecommerce
  • Application Development
  • Database Consulting
  • Cloud Hosting
  • Systems Integration
  • Legacy Business Systems
  • Security & Compliance
  • GIS

  • Expertise

  • About Us
  • Our Team
  • Clients
  • Blog
  • Careers

  • VisionPort

  • Contact
  • Our Blog

    Ongoing observations by End Point Dev people

    What is SharePoint?

    Dan Briones

    By Dan Briones
    March 25, 2020

    Web servers

    Image by Taylor Vick

    People often ask me about SharePoint, Microsoft’s browser-based collaboration platform which allows users to upload and share all kinds of documents, images, messages, and more. The product has nearly two decades of history and there are still many who don’t know much about it.

    The SharePoint platform has grown over those years, but its capabilities have expanded in such a way that it can be quickly dismissed from consideration out of fear of the complexity of its implementation and the cost of deployment. These fears may be unfounded, however. Especially if you are already on Office 365, SharePoint may be included in your plan.

    SharePoint was designed as a framework to create and share content on the web without the need to write code. Its purpose was to allow everyone in the organization to collaborate without any specific programming skills. This framework grew over time, adding many different types of content allowing for interactions with other frameworks increasing the effectiveness of any organization’s work product or intellectual property and communications.

    Flavors of SharePoint

    There are two ‘flavors’ of SharePoint. You can use Microsoft’s …


    tools

    Serialization and Deserialization Issues in Spring REST

    Kürşat Kutlu Aydemir

    By Kürşat Kutlu Aydemir
    March 17, 2020

    Mosaic pattern

    Photo by Annie Spratt

    Spring Boot projects primarily use the JSON library Jackson to serialize and deserialize objects. It is especially useful that Jackson automatically serializes objects returned from REST APIs and deserializes complex type parameters like @RequestBody.

    In a Spring Boot project the automatically registered MappingJackson2HttpMessageConverter is usually enough and makes JSON conversions simple, but this may have some issues which need custom configuration. Let’s go over a few good practices for them.

    Configuring a Custom Jackson ObjectMapper

    In Spring REST projects a custom implementation of MappingJackson2HttpMessageConverter helps to create the custom ObjectMapper, as seen below. Whatever custom implementation you need to add to the custom ObjectMapper can be handled by this custom converter:

    public class CustomHttpMessageConverter extends MappingJackson2HttpMessageConverter {
    
        private ObjectMapper initCustomObjectMapper() {
            ObjectMapper customObjectMapper = new ObjectMapper();
            return customObjectMapper;
        }
    
        // ...
    }
    

    Additionally, some MappingJackson2HttpMessageConverter methods, such as writeInternal, can be useful to override in …


    json rest java frameworks spring

    Consolidating Multiple SFTP Accounts Into One Master Account

    Selvakumar Arumugam

    By Selvakumar Arumugam
    March 16, 2020

    merging roads

    Photo by Dan Meyers

    Recently, a client implemented a data-intensive workflow to generate various reports and insights from a list of facilities as part of an EpiTrax installation. Because a significant portion of these files contain sensitive healthcare data, they needed to strictly comply with HIPAA. Optimally, facilities should be able to transfer files securely and exclusively to our server. One of the best methods of achieving this is to create individual SSH File Transfer Protocol (SFTP) accounts for each source.

    SFTP account

    Private SFTP accounts were established for each facility and the data was received at a designated path. At these individual points of contact, a third-party application picks up the data and processes further into the pipeline. The following demonstrates how SFTP accounts are developed and configured:

    • Create a user group for SFTP accounts:
    $ addgroup sftpusers
    
    • Configure the following settings in sshd_config (this enables an SFTP account and sets the default location as the home path):
    $ vi /etc/ssh/sshd_config
    ...
    # override default of no subsystems
    Subsystem       sftp    internal-sftp...
    
    Match Group sftpusers
        ChrootDirectory /home/%u …

    ssh shell security casepointer

    Capturing Outgoing Email With Mock SMTP Servers

    Patrick Lewis

    By Patrick Lewis
    March 13, 2020

    Mailboxes Photo by Seattleye, used under CC BY 2.0, cropped from original.

    Sending automated email to users is a common requirement of most web applications and can take the form of things like password reset emails or order confirmation invoices.

    It is important for developers working in development/staging environments to verify that an application is sending email correctly without actually delivering messages to users’ inboxes. If you were testing a background task that searches an e-commerce site for abandoned shopping carts and emails users to remind them that they have not completed a checkout, you would not want to run that in development and end up repeatedly emailing live user email addresses.

    A mock SMTP server is useful for development and testing because it lets you configure the email settings of your development environment almost exactly the same as you would for outgoing SMTP email in your production site. The mock SMTP server will capture all of the outbound email and allow you to review it in a web interface instead of actually delivering it to users’ inboxes.

    Mock SMTP Servers

    There are a variety of standalone/free and hosted/commercial options for mock SMTP servers …


    ruby rails email testing

    E-commerce Client Project Management

    Greg Hanson

    By Greg Hanson
    March 12, 2020

    Photo by You X Ventures on Unsplash

    Moving from writing code to managing the show

    Many times engineers/​developers make the move from development to project management. It’s a natural move, we want the folks who know the nuts and bolts of e-commerce projects to eventually manage them.

    So that’s all fine and dandy, but what if you haven’t been a “manager” before?

    • How do you manage an e-commerce client?
    • How do you manage an e-commerce project?
    • How do you manage engineers/​developers for an e-commerce project?

    An answer for each of the above is always: “It depends.” Or maybe more familiarly for Perl developers: TIMTOWTDI.

    The reason for that of course is that all of the above questions have variables that will change for every situation.

    As a developer, you understand the large number of outcomes that can be introduced into an application by using a single variable. You also understand that the number of outcomes increases proportionally with the number of variables.

    The same holds true for management. When you are faced with managing a project, your “variables” now move from placeholders in your code, to placeholders in your project. Where you may have assigned a variable for a …


    management clients ecommerce

    Cooking with CAS

    Josh Tolley

    By Josh Tolley
    March 10, 2020

    Laptop on a desk showing a web browser open to a login form, with a Post-It note saying 'ADMIN / ADMIN' attached to the screen

    Photo by Flickr user reidrac, licensed under CC BY-SA 2.0

    One of our customers asked us to host a new suite of web-based applications for them and to protect them with a single sign-on (SSO) solution. Ok, easy enough; these applications were in fact designed with a particular SSO system in mind already, but our situation required a different one, and we eventually chose Apereo’s open source Central Authentication Server project, or CAS. I’d like to describe the conversion process we went through.

    The ingredients

    Our customer’s application suite included:

    • The principal Java application using JAAS authentication
    • Another Java application based on Spring Security
    • A pair of PHP applications
    • A few automated tasks that needed to authenticate.

    The original SSO system sets a header on each request, identifying an authenticated user. This requires a gateway system to sanitize request headers to ensure malicious users cannot forge a header themselves. It also requires each application inspect request headers and respond appropriately.

    CAS is a bit more complex: applications redirect unauthenticated requests to a CAS server, which authenticates the user through any of various configurable …


    java architecture security programming php spring casepointer

    Symfony Quickstart

    Árpád Lajos

    By Árpád Lajos
    March 2, 2020

    symphony
    Photo by Arindam Mahanta

    This article is written for anyone who has experience working with PHP and is starting to work with Symfony. We won’t assume any prior knowledge you might have with Symfony, so if getting started with this framework is a high priority, then this article is for you. I know that it can be difficult and you may be unsure where to look; I was in the same situation when I first worked with Symfony.

    You might be pointed to consult the documentation, but even though the documentation is very detailed and nicely written, you might have a very urgent issue to solve, and thus not have time to read multiple articles about the framework before you start working. You might just need to quickly start, solve a few issues and worry about the details later.

    How do I run this stuff?

    If your project does not exist yet, you will need to set up Symfony, using the steps nicely outlined in Symfony’s setup guide.

    Assuming that the project already exists and you need to quickly start working on it, you will need to run composer install in the root folder of the project to make sure that the dependencies are properly set. This could result in errors; for example, PHP might be not …


    symfony php webpack

    Bucardo 5.6.0 Released

    David Christensen

    By David Christensen
    March 1, 2020

    bucardo logo

    Bucardo 5.6.0 was released on February 28, 2020.

    Bucardo is an asynchronous multi-master replication system for PostgreSQL. In addition to some bug fixes and minor compatibility tweaks for Pg 11 and 12, Bucardo 5.6.0 includes performance optimizations and an improved custom unique conflict handler.

    Bucardo 5.6.0 is available for download here:

    https://bucardo.org/downloads/Bucardo-5.6.0.tar.gz

    Detached signature (signed with key ID DF9B65B8):

    https://bucardo.org/downloads/Bucardo-5.6.0.tar.gz.asc

    Detailed changes

    • Minor PostgreSQL 11/12 tweaks in bucardo install

    • Add config option log_timer_format to glog() to customize timestamp output

    • Change handling of file-path config settings so that they are no longer lower-cased—the new log_timer_format config will also be case-preserved

    • Fixed the relation parameter to the add customcode command to support schema-qualified relation names

    • Optimized table lookup when validating syncs to a single query, rather than separate queries for each table. Also added checks to avoid purging “toast” tables and old delta tables

    • Improve the unique conflict exception handler sample code and test

    • Map timestamp from PostgreSQL to MongoDB datetime …


    postgres bucardo replication mongodb
    Previous page • Page 36 of 220 • Next page