Jetspeed 2
  1. Jetspeed 2
  2. JS2-490

A profiler rule which serves content based on the network associated with the http request

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.1-dev
    • Fix Version/s: 2.1-dev, 2.1
    • Component/s: Profiler
    • Labels:
      None

      Description

      A profiler rule that selects different content based on the ip address of the http request. The goal here is to obtain at best the local or regional place associated the network ip. From this the apropriate content is chosen for the user.

      This is just like language localization. If there is content that matches the profile rule the content is served otherwise default content is served. This can be applied to states, provinces, regions, and countries.

      Network "masks" should also be configurable to serve specific content if the administrator chooses to be more precise.

      This will work like the apache download page which chooses the mirror closest to you when downloading software.

      The feature should include a portlet for the administration of network addresses. It would be nice to be able to override the locator algorithm and map specific ip "masks" to specific locations.

      1. guide-profiling-ip.xml
        3 kB
        Philip Mark Donaghy
      2. IPCriterionResolver.java
        2 kB
        Philip Mark Donaghy
      3. ip-address-profile-rule.patch
        5 kB
        Philip Mark Donaghy

        Activity

        Hide
        Ate Douma added a comment -

        Closed again now properly recorded against Fix Version 2.1 as well

        Show
        Ate Douma added a comment - Closed again now properly recorded against Fix Version 2.1 as well
        Hide
        David Sean Taylor added a comment -

        patch applied

        Show
        David Sean Taylor added a comment - patch applied
        Hide
        Philip Mark Donaghy added a comment -

        This patch updates the documentation, profile assembly, j2-admin for profile criterion, and database scripts to insert the profile rule and a new user with the profile.

        The new user is geo it is a generic user for demonstrating the future geospatial features of j2.

        A client application for selecting a geographic location will follow.

        Show
        Philip Mark Donaghy added a comment - This patch updates the documentation, profile assembly, j2-admin for profile criterion, and database scripts to insert the profile rule and a new user with the profile. The new user is geo it is a generic user for demonstrating the future geospatial features of j2. A client application for selecting a geographic location will follow.
        Hide
        Philip Mark Donaghy added a comment -

        Rule to obtain the client IP from the request context. Please include this class in the components/profiler/src/java/org/apache/jetspeed/profiler/rules/impl directory.

        Show
        Philip Mark Donaghy added a comment - Rule to obtain the client IP from the request context. Please include this class in the components/profiler/src/java/org/apache/jetspeed/profiler/rules/impl directory.
        Hide
        Philip Mark Donaghy added a comment -

        This attachment is just the documentation to describe the ip-address profile rule.

        The rule is currently applicable to the page locator. I've been using a directory called _ip in the WEB-INF/pages directory. Please comment on whether or not creating an additional special directory to the code source is appropriate.

        I've also added a new user to the default database script. This user is configured to use the profile rule by default for demostration purposes.

        To follow is the profiler class, and a patch to the assembly/profiler.xml , database scripts, and xdocs/guides/index.xml

        A sample portlet and psml that can be used to demostrate the rule will also arrive separately.

        Show
        Philip Mark Donaghy added a comment - This attachment is just the documentation to describe the ip-address profile rule. The rule is currently applicable to the page locator. I've been using a directory called _ip in the WEB-INF/pages directory. Please comment on whether or not creating an additional special directory to the code source is appropriate. I've also added a new user to the default database script. This user is configured to use the profile rule by default for demostration purposes. To follow is the profiler class, and a patch to the assembly/profiler.xml , database scripts, and xdocs/guides/index.xml A sample portlet and psml that can be used to demostrate the rule will also arrive separately.
        Hide
        Philip Mark Donaghy added a comment -

        I should probably explain my vision and the reason why I created this issue.

        Geolocating portal users can be done using their IP or Network addresses. First assumption, this can vary in accuracy because IP addresses change often and Networks can be spread out over large areas. Here is a sample ip database,

        http://www.maxmind.com/app/geolitecity

        The vision is to use a database (the implementations may vary) to associate IP addresses to groups.

        Second assumption, multiple networks serve the same geographic area. For this reason it is also logical to associate IP addresses and network addresses with locations and locations to groups.

        So to summarize the objective is to geolocate portal users using IP addresses or Network and subnet data. It is important to leverage existing Jetspeed logic. So IIUC the page profiler will simply resolve a page similar to _user/myuser/MyPage.psml or _group/mygroup/MyPage.psml

        Requirements:

        • Database and generic data access methods (prototype is implemented in xml)
        • A Profiler rule
        • API - a service oriented interface to the data access methods
        • An administration interface
        • A client portlet would be attractive to allow the user to choose his or her current location as well as alternative locations.

        A long term goal would be to integrate varying geographic databases and or spatial database engines.

        Show
        Philip Mark Donaghy added a comment - I should probably explain my vision and the reason why I created this issue. Geolocating portal users can be done using their IP or Network addresses. First assumption, this can vary in accuracy because IP addresses change often and Networks can be spread out over large areas. Here is a sample ip database, http://www.maxmind.com/app/geolitecity The vision is to use a database (the implementations may vary) to associate IP addresses to groups. Second assumption, multiple networks serve the same geographic area. For this reason it is also logical to associate IP addresses and network addresses with locations and locations to groups. So to summarize the objective is to geolocate portal users using IP addresses or Network and subnet data. It is important to leverage existing Jetspeed logic. So IIUC the page profiler will simply resolve a page similar to _user/myuser/MyPage.psml or _group/mygroup/MyPage.psml Requirements: Database and generic data access methods (prototype is implemented in xml) A Profiler rule API - a service oriented interface to the data access methods An administration interface A client portlet would be attractive to allow the user to choose his or her current location as well as alternative locations. A long term goal would be to integrate varying geographic databases and or spatial database engines.

          People

          • Assignee:
            David Sean Taylor
            Reporter:
            Philip Mark Donaghy
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development