diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts
new file mode 100644
index 0000000..4fb998e
--- /dev/null
+++ b/src/app/app-routing.module.ts
@@ -0,0 +1,46 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+
+import { EnvironmentSpecificResolver} from './openaireLibrary/utils/properties/environmentSpecificResolver';
+import { EnvironmentSpecificService} from './openaireLibrary/utils/properties/environment-specific.service';
+
+import { OpenaireErrorPageComponent } from './error/errorPage.component';
+
+const routes: Routes = [
+ { path: '', loadChildren: './home/home.module#HomeModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/publication', loadChildren: './landingPages/publication/libPublication.module#LibPublicationModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/dataset', loadChildren: './landingPages/dataset/libDataset.module#LibDatasetModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/software', loadChildren: './landingPages/software/libSoftware.module#LibSoftwareModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/other', loadChildren: './landingPages/orp/libOrp.module#LibOrpModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/project', loadChildren: './landingPages/project/libProject.module#LibProjectModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/dataprovider', loadChildren: '././landingPages/dataProvider/libDataProvider.module#LibDataProviderModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/organization', loadChildren: './landingPages/organization/libOrganization.module#LibOrganizationModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/find', loadChildren: './searchPages/find/libSearch.module#LibMainSearchModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/find/publications', loadChildren: './searchPages/simple/searchPublications.module#LibSearchPublicationsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/find/datasets', loadChildren: './searchPages/simple/searchDatasets.module#LibSearchDatasetsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/find/software', loadChildren: './searchPages/simple/searchSoftware.module#LibSearchSoftwareModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/find/other', loadChildren: './searchPages/simple/searchOrps.module#LibSearchOrpsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/find/projects', loadChildren: './searchPages/simple/searchProjects.module#LibSearchProjectsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/find/dataproviders', loadChildren: './searchPages/simple/searchDataProviders.module#LibSearchDataProvidersModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/find/organizations', loadChildren: './searchPages/simple/searchOrganizations.module#LibSearchOrganizationsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/advanced/publications', loadChildren: './searchPages/advanced/advancedSearchPublications.module#LibAdvancedSearchPublicationsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/advanced/datasets', loadChildren: './searchPages/advanced/advancedSearchDatasets.module#LibAdvancedSearchDatasetsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/advanced/software', loadChildren: './searchPages/advanced/advancedSearchSoftware.module#LibAdvancedSearchSoftwareModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/advanced/other', loadChildren: './searchPages/advanced/advancedSearchOrps.module#LibAdvancedSearchOrpsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/advanced/organizations', loadChildren: './searchPages/advanced/advancedSearchOrganizations.module#LibAdvancedSearchOrganizationsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/advanced/dataproviders', loadChildren: './searchPages/advanced/advancedSearchDataProviders.module#LibAdvancedSearchDataProvidersModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'search/advanced/projects', loadChildren: './searchPages/advanced/advancedSearchProjects.module#LibAdvancedSearchProjectsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'project-report', loadChildren: './landingPages/htmlProjectReport/libHtmlProjectReport.module#LibHtmlProjectReportModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'reload', loadChildren: './reload/libReload.module#LibReloadModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'user-info', loadChildren: './login/libUser.module#LibUserModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: 'error', component: OpenaireErrorPageComponent, resolve: { envSpecific: EnvironmentSpecificResolver }},
+ { path: '**',pathMatch: 'full',component: OpenaireErrorPageComponent, resolve: { envSpecific: EnvironmentSpecificResolver }}
+];
+
+@NgModule({
+ imports: [RouterModule.forRoot(routes)],
+ exports: [RouterModule],
+ providers: [EnvironmentSpecificResolver, EnvironmentSpecificService]
+})
+export class AppRoutingModule { }
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
new file mode 100644
index 0000000..2607d8f
--- /dev/null
+++ b/src/app/app.component.ts
@@ -0,0 +1,103 @@
+import {Component} from '@angular/core';
+import {ActivatedRoute, NavigationStart, Router} from '@angular/router';
+
+import {EnvProperties} from './openaireLibrary/utils/properties/env-properties';
+import {MenuItem, RootMenuItem} from './openaireLibrary/sharedComponents/menu';
+import {EnvironmentSpecificService} from './openaireLibrary/utils/properties/environment-specific.service';
+import {HelperFunctions} from "./openaireLibrary/utils/HelperFunctions.class";
+
+@Component({
+ //changeDetection: ChangeDetectionStrategy.Default,
+ //encapsulation: ViewEncapsulation.Emulated,
+ selector: 'app-root',
+ styles: [`
+ `],
+ template: `
+
+
+
+
+
+
+
+
+
+ OpenAIRE uses cookies in order to function properly.
+ Cookies are small pieces of data that websites store in your browser to allow us to give you the best browsing
+ experience possible.
+ By using the OpenAIRE portal you accept our use of cookies. Read more
+
+
+
+
+
+ `
+
+})
+export class AppComponent {
+ isClient: boolean = false;
+ menuItems: RootMenuItem [] = [
+ {rootItem: new MenuItem("home", "Home", "", "/", false, [], null, {}), items: []},
+ {
+ rootItem: new MenuItem("search", "Search", "", "/search/find", false, [], ["/search/find"], {}),
+ items: [new MenuItem("", "Publications", "", "/search/find/publications", false, ["publication"], ["/search/find/publications"], {}),
+ new MenuItem("", "Research Data", "", "/search/find/datasets", false, ["dataset"], ["/search/find/datasets"], {}),
+ new MenuItem("", "Software", "", "/search/find/software", false, ["software"], ["/search/find/software"], {}),
+ new MenuItem("", "Other Research Products", "", "/search/find/other", false, ["orp"], ["/search/find/other"], {}),
+ new MenuItem("", "Projects", "", "/search/find/projects/", false, ["project"], ["/search/find/projects"], {}),
+ new MenuItem("", "Content Providers", "", "/search/find/dataproviders", false, ["datasource"], ["/search/find/dataproviders"], {}),
+ new MenuItem("", "Organizations", "", "/search/find/organizations/", false, ["organization"], ["/search/find/organizations"], {})
+ ]
+ }
+ ];
+
+
+ feedbackmail: string
+ properties: EnvProperties;
+
+ constructor(private route: ActivatedRoute, private propertiesService: EnvironmentSpecificService,
+ private router: Router) {
+ router.events.forEach((event) => {
+ if (event instanceof NavigationStart) {
+ HelperFunctions.scroll();
+ }
+ });
+ }
+
+ ngOnInit() {
+
+ if (typeof document !== 'undefined') {
+ try {
+ this.isClient = true;
+
+ } catch (e) {
+ }
+
+ }
+ this.propertiesService.loadEnvironment()
+ .then(es => {
+ this.propertiesService.setEnvProperties(es);
+ this.properties = this.propertiesService.envSpecific;
+ this.feedbackmail = this.properties.feedbackmail;
+ // if (Session.isPortalAdministrator()) {
+ // this.userMenuItems.push(new MenuItem("", "Manage all links", "", "/claims", false, [], ["/claims"], {}));
+ // this.userMenuItems.push(new MenuItem("", "Manage helptexts",
+ // ((this.properties.environment == "beta") ? "https://beta.admin.connect.openaire.eu" : "https://admin.explore.openaire.eu") + "/dashboard?communityId=openaire", "", true, [], [], {}))
+ //
+ // } else if (Session.isClaimsCurator()) {
+ // this.userMenuItems.push(new MenuItem("", "Manage all links", "", "/claims", false, [], ["/claims"], {}));
+ //
+ // }
+ //console.log(this.properties.loginUrl);
+ }, error => {
+ console.log("App couldn't fetch properties");
+ console.log(error);
+
+ });
+ }
+}
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
new file mode 100755
index 0000000..1941730
--- /dev/null
+++ b/src/app/app.module.ts
@@ -0,0 +1,51 @@
+import { NgModule } from '@angular/core';
+import { FormsModule } from '@angular/forms';
+import { SharedModule } from './shared/shared.module';
+import { BrowserModule } from '@angular/platform-browser';
+import { NoopAnimationsModule } from '@angular/platform-browser/animations';
+import { APP_BASE_HREF, CommonModule } from '@angular/common';
+import { HttpClientModule } from '@angular/common/http';
+import { RouterModule } from '@angular/router';
+import { AppComponent } from './app.component';
+
+
+import {NavigationBarModule} from './openaireLibrary/sharedComponents/navigationBar.module';
+import { CookieLawModule } from './openaireLibrary/sharedComponents/cookie-law/cookie-law.module';
+
+import {BottomModule} from './openaireLibrary/sharedComponents/bottom.module';
+import {FeedbackModule} from './openaireLibrary/sharedComponents/feedback/feedback.module';
+import { EnvironmentSpecificResolver} from './openaireLibrary/utils/properties/environmentSpecificResolver';
+//import { EnvironmentSpecificService, REQUEST_TOKEN} from './openaireLibrary/utils/properties/environment-specific.service';
+
+import { ErrorModule} from './openaireLibrary/error/error.module';
+
+import { OpenaireErrorPageComponent } from './error/errorPage.component';
+import { AppRoutingModule } from './app-routing.module';
+
+@NgModule({
+
+ imports: [
+ SharedModule,
+ NoopAnimationsModule,
+ CommonModule,
+ HttpClientModule,
+ErrorModule,
+NavigationBarModule, FeedbackModule, BottomModule,
+ CookieLawModule,
+ BrowserModule.withServerTransition({appId: 'my-app'}),
+ AppRoutingModule
+ ],
+ declarations: [ AppComponent, OpenaireErrorPageComponent],
+ exports: [ AppComponent ],
+ providers:[
+ /*{
+ provide: REQUEST_TOKEN,
+ useClass: EnvironmentSpecificService
+ },*/
+ EnvironmentSpecificResolver
+
+ ],
+ bootstrap: [AppComponent]
+})
+//
+export class AppModule {}
diff --git a/src/app/app.server.module.ts b/src/app/app.server.module.ts
new file mode 100644
index 0000000..ad1dab1
--- /dev/null
+++ b/src/app/app.server.module.ts
@@ -0,0 +1,23 @@
+import {NgModule} from '@angular/core';
+import {ServerModule} from '@angular/platform-server';
+import {ModuleMapLoaderModule} from '@nguniversal/module-map-ngfactory-loader';
+
+import {AppModule} from './app.module';
+import {AppComponent} from './app.component';
+//import {REQUEST} from "@nguniversal/express-engine/tokens";
+
+@NgModule({
+ imports: [
+ // The AppServerModule should import your AppModule followed
+ // by the ServerModule from @angular/platform-server.
+ AppModule,
+ ServerModule,
+ ModuleMapLoaderModule,
+ ],
+ // Since the bootstrapped component is not inherited from your
+ // imported AppModule, it needs to be repeated here.
+ bootstrap: [AppComponent],
+})
+export class AppServerModule {
+ /*constructor(@Inject(REQUEST) private request: Request) {}*/
+}
diff --git a/src/app/error/errorPage.component.ts b/src/app/error/errorPage.component.ts
new file mode 100644
index 0000000..e96d3dc
--- /dev/null
+++ b/src/app/error/errorPage.component.ts
@@ -0,0 +1,13 @@
+import { Component, Input } from '@angular/core';
+import { Location } from '@angular/common';
+
+@Component({
+ selector: 'openaire-error',
+ template: `
+
+ `
+})
+
+export class OpenaireErrorPageComponent {
+
+}
diff --git a/src/app/home/home-routing.module.ts b/src/app/home/home-routing.module.ts
new file mode 100644
index 0000000..e372e73
--- /dev/null
+++ b/src/app/home/home-routing.module.ts
@@ -0,0 +1,15 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import{HomeComponent} from './home.component';
+import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: HomeComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] }
+
+ ])
+ ]
+})
+export class HomeRoutingModule { }
diff --git a/src/app/home/home.component.html b/src/app/home/home.component.html
new file mode 100644
index 0000000..b71ba75
--- /dev/null
+++ b/src/app/home/home.component.html
@@ -0,0 +1,551 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{publicationsSize.number|number}} {{publicationsSize.size}} publications{{((showDatasets && datasetsSize)?",":"")}}
+ {{datasetsSize.number|number}} {{datasetsSize.size}} research data
+
+ from {{datasourcesSize.number |number}} {{datasourcesSize.size}} content providers
+ {{((showDataProviders && datasourcesSize)?" and ":" from ")}} {{fundersSize.number|number}} {{fundersSize.size}} funders
+
+ linked together for an integrated research search
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Explore
+
+
Discover linked open research
+
Search for
+ publications, datasets, software and other research products. See how these
+ are linked together and how they are linked to funding and
+ organizations.
+
+ View statistics on projects and institutions.
+
+
+
+
+
+
+
+
+
+
+ Share
+
+
Deposit in a repository of your choice
+
+ Select an OpenAIRE compatible repository (2.0 +) so that your research is linked to your funding information.
+
+ Use
ZENODO ,
+ a catch-all repository hosted by CERN to deposit all your research results (publications, data, software, etc.)
+
+
+
+
+
+
+
+
+
+
+
+
+ Link
+
+
Connect all your research
+
+ If you can't find your research results in OpenAIRE, don't worry!
+
+ Use our LINK OUT service ,
+ that reaches out to many external sources via APIs, to connect your research results and claim them to your project.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Have more questions?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Our community
+
+
+
+
+
+
+
+
+ {{publicationsSize.count|number}} publications
+
+
+ {{datasetsSize.count|number}} research data
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{datasourcesSize.number |number}} {{datasourcesSize.size}}
+ content providers
+
+
+ {{fundersSize.number|number}} {{fundersSize.size}}
+ Funders
+
+
+ {{projectsSize.count|number}}
+ Projects
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Our data policies
+
+
+
+
+
+ Data acquisition
+
+ How we retrieve data, how often, what processes it goes through (aggregating cleaning, transforming, inferring, de-duplicating), what are the quality checks along all data processing stages.
+
+
+
+ Data usage
+
+ Who is able to retrieve our data, what are the licences, what about specific SLAs.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/app/home/home.component.ts b/src/app/home/home.component.ts
new file mode 100644
index 0000000..a3aff14
--- /dev/null
+++ b/src/app/home/home.component.ts
@@ -0,0 +1,206 @@
+import {Component, Input, Output, EventEmitter, ViewChild, ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';
+import {Observable} from 'rxjs';
+import {ActivatedRoute, Router} from '@angular/router';
+import {Location} from '@angular/common';
+import "rxjs/add/observable/zip";
+import {Title, Meta} from '@angular/platform-browser';
+import {ConfigurationService} from '../openaireLibrary/utils/configuration/configuration.service';
+import { SearchPublicationsService} from '../openaireLibrary/services/searchPublications.service';
+import { FetchDataproviders} from '../openaireLibrary/utils/fetchEntitiesClasses/fetchDataproviders.class';
+import { SearchDataprovidersService} from '../openaireLibrary/services/searchDataproviders.service';
+import { SearchProjectsService} from '../openaireLibrary/services/searchProjects.service';
+import { SearchDatasetsService} from '../openaireLibrary/services/searchDatasets.service';
+import { SearchOrganizationsService} from '../openaireLibrary/services/searchOrganizations.service';
+import { RefineFieldResultsService} from '../openaireLibrary/services/refineFieldResults.service';
+import { SearchFields} from '../openaireLibrary/utils/properties/searchFields';
+import { NumberUtils} from '../openaireLibrary/utils/number-utils.class';
+
+import { RouterHelper} from '../openaireLibrary/utils/routerHelper.class';
+import { EnvProperties} from '../openaireLibrary/utils/properties/env-properties';
+import { ErrorCodes} from '../openaireLibrary/utils/properties/errorCodes';
+import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service';
+import { SEOService } from '../openaireLibrary/sharedComponents/SEO/SEO.service';
+
+@Component({
+ selector: 'home',
+ templateUrl: 'home.component.html',
+})
+export class HomeComponent {
+ public piwiksub: any;
+ public subfunders: any;
+
+ public pageTitle = "OpenAIRE"
+ public keyword:string = "";
+
+ public searchFields:SearchFields = new SearchFields();
+ public errorCodes:ErrorCodes = new ErrorCodes();
+ public routerHelper:RouterHelper = new RouterHelper();
+
+ public publicationsSize:any = null;
+ public datasetsSize:any = null;
+ public fundersSize:any = null;
+ public projectsSize:any = null;
+ public datasourcesSize:any = null;
+
+ private numResults: number = 2;
+ public fetchDataproviders : FetchDataproviders;
+
+ showPublications:boolean= false;
+ showDatasets:boolean= false;
+ showProjects:boolean= false;
+ showDataProviders:boolean= false;
+ properties: EnvProperties;
+public subPub;public subData;public subProjects;public subOrg; public subDataPr;
+
+ constructor (
+ private route: ActivatedRoute,
+ private _router: Router,
+ private _searchPublicationsService: SearchPublicationsService,
+ private _searchDataprovidersService: SearchDataprovidersService,
+ private _searchProjectsService: SearchProjectsService,
+ private _searchDatasetsService: SearchDatasetsService,
+ private _searchOrganizationsService: SearchOrganizationsService,
+ private _refineFieldResultsService:RefineFieldResultsService,
+ private location: Location, private _piwikService:PiwikService,
+ private config: ConfigurationService, private _meta: Meta, private _title: Title, private seoService: SEOService
+ ) {
+
+ var description = "openAIRE explore, open access, publications, research results, European commission, search";
+
+ var title = "OpenAIRE | Explore";
+
+ this._title.setTitle(title);
+ this._meta.updateTag({content:description},"name='description'");
+ this._meta.updateTag({content:description},"property='og:description'");
+ this._meta.updateTag({content:title},"property='og:title'");
+
+
+ //this.fetchDataproviders = new FetchDataproviders(this._searchDataprovidersService);
+ }
+
+ public ngOnInit() {
+ this.route.data
+ .subscribe((data: { envSpecific: EnvProperties }) => {
+ this.properties = data.envSpecific;
+ this.seoService.createLinkForCanonicalURL(this.properties.baseLink+this._router.url, false);
+ if(this.properties!=null){
+ var url = this.properties.baseLink+this._router.url;
+ this._meta.updateTag({content:url},"property='og:url'");
+ if(this.properties.enablePiwikTrack && (typeof document !== 'undefined')){
+ this.piwiksub = this._piwikService.trackView(this.properties, "OpenAIRE").subscribe();
+ }
+
+ this.config.getCommunityInformation(this.properties.adminToolsAPIURL, this.properties.adminToolsCommunity ).subscribe(data => {
+ var showEntity = {};
+ for(var i=0; i< data['entities'].length; i++){
+
+ showEntity[""+data['entities'][i]["pid"]+""] = data['entities'][i]["isEnabled"];
+ }
+ this.showPublications = showEntity["publication"];
+ this.showDatasets = showEntity["dataset"];
+ this.showProjects = showEntity["project"];
+ this.showDataProviders = showEntity["datasource"];
+ this.getNumbers();
+ // if(this.showDataProviders) {
+ // this.fetchDataproviders.getResultsForHome(this.numResults, this.properties);
+ // }
+ },
+ error => {
+ this.handleError("Error getting community information", error);
+ }
+ );
+ }
+ });
+
+ }
+ public ngOnDestroy() {
+ if(this.piwiksub){
+ this.piwiksub.unsubscribe();
+ }
+ if(this.subfunders){
+ this.subfunders.unsubscribe();
+ }
+ if(this.subPub){
+ this.subPub.unsubscribe();
+ }
+ if(this.subData){
+ this.subData.unsubscribe();
+ }
+ // if(this.subProjects){
+ // this.subProjects.unsubscribe();
+ // }
+ // if(this.subOrg){
+ // this.subOrg.unsubscribe();
+ // }
+ if(this.subDataPr){
+ this.subDataPr.unsubscribe();
+ }
+
+ }
+
+ private getNumbers() {
+ if(this.showPublications){
+ this.subPub = this._searchPublicationsService.numOfSearchPublications("", this.properties).subscribe(
+ data => {
+ if(data && data != null && data > 0 ){
+ this.publicationsSize = NumberUtils.roundNumber(data);
+
+ }
+ },
+ err => {
+ //console.log(err);
+ this.handleError("Error getting number of publications", err);
+ }
+ );
+ }
+ if(this.showDatasets){
+ this.subData = this._searchDatasetsService.numOfSearchDatasets("", this.properties).subscribe(
+ data => {
+ if(data && data != null && data > 0 ){
+ this.datasetsSize = NumberUtils.roundNumber(data);
+ }
+ },
+ err => {
+ //console.log(err);
+ this.handleError("Error getting number of research data", err);
+ }
+ );
+ }
+ if(this.showProjects){
+ this.subfunders = this._refineFieldResultsService.getRefineFieldsResultsByEntityName(["funder"],"project", this.properties).subscribe(
+ data => {
+
+
+ if(data[0] && data[0] > 0 ){
+ this.projectsSize = NumberUtils.roundNumber(data[0]);
+ }
+ if(data[1].length > 0 && data[1][0].filterId == "funder" && data[1][0].values ){
+ this.fundersSize = NumberUtils.roundNumber(data[1][0].values.length);
+ }
+
+ },
+ err => {
+ //console.log(err);
+ this.handleError("Error getting 'funder' field results of projects", err);
+ });
+ }
+ if(this.showDataProviders){
+ this.subDataPr = this._searchDataprovidersService.numOfSearchDataproviders("", this.properties).subscribe(
+ data => {
+ if(data && data != null && data > 0 ){
+ this.datasourcesSize = NumberUtils.roundNumber(data);
+ }
+
+ },
+ err => {
+ //console.log(err);
+ this.handleError("Error getting number of content providers", err);
+ }
+ );
+ }
+ }
+
+ private handleError(message: string, error) {
+ console.error("Home Page: "+message, error);
+ }
+}
diff --git a/src/app/home/home.module.ts b/src/app/home/home.module.ts
new file mode 100644
index 0000000..c986f15
--- /dev/null
+++ b/src/app/home/home.module.ts
@@ -0,0 +1,52 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+import { RouterModule } from '@angular/router';
+
+import{HomeRoutingModule} from './home-routing.module';
+import{HomeComponent} from './home.component';
+
+import { DataProvidersServiceModule} from '../openaireLibrary/services/dataProvidersService.module';
+import { DatasetsServiceModule} from '../openaireLibrary/services/datasetsService.module';
+import { ProjectsServiceModule} from '../openaireLibrary/services/projectsService.module';
+import { PublicationsServiceModule} from '../openaireLibrary/services/publicationsService.module';
+import { OrganizationsServiceModule} from '../openaireLibrary/services/organizationsService.module';
+import { SearchFormModule} from '../openaireLibrary/searchPages/searchUtils/searchForm.module';
+import {PiwikServiceModule} from '../openaireLibrary/utils/piwik/piwikService.module';
+
+import {HelperModule} from '../openaireLibrary/utils/helper/helper.module';
+
+import {RefineFieldResultsServiceModule} from '../openaireLibrary/services/refineFieldResultsService.module';
+import {ConfigurationService} from '../openaireLibrary/utils/configuration/configuration.service';
+import {FreeGuard} from '../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {Schema2jsonldModule} from '../openaireLibrary/sharedComponents/schema2jsonld/schema2jsonld.module';
+import { SEOServiceModule } from '../openaireLibrary/sharedComponents/SEO/SEOService.module';
+
+import {ErrorMessagesModule} from '../openaireLibrary/utils/errorMessages.module';
+
+ @NgModule({
+ imports: [
+ CommonModule, FormsModule, RouterModule,
+ RefineFieldResultsServiceModule,
+ DataProvidersServiceModule, DatasetsServiceModule, ProjectsServiceModule,
+ PublicationsServiceModule,
+ OrganizationsServiceModule,
+ SearchFormModule,
+ PiwikServiceModule,
+ HomeRoutingModule,
+ HelperModule,
+ ErrorMessagesModule,
+ Schema2jsonldModule, SEOServiceModule
+ ],
+ declarations: [
+ HomeComponent
+ ],
+ providers:[
+ FreeGuard, PreviousRouteRecorder, ConfigurationService
+ ],
+ exports: [
+ HomeComponent
+ ]
+})
+export class HomeModule { }
diff --git a/src/app/landingPages/dataProvider/dataProvider-routing.module.ts b/src/app/landingPages/dataProvider/dataProvider-routing.module.ts
new file mode 100644
index 0000000..c9e1d33
--- /dev/null
+++ b/src/app/landingPages/dataProvider/dataProvider-routing.module.ts
@@ -0,0 +1,19 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import { OpenaireDataProviderComponent } from './dataProvider.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireDataProviderComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ },canDeactivate: [PreviousRouteRecorder] }
+ ])
+]
+})
+export class DataProviderRoutingModule { }
diff --git a/src/app/landingPages/dataProvider/dataProvider.component.ts b/src/app/landingPages/dataProvider/dataProvider.component.ts
new file mode 100644
index 0000000..b9d6af7
--- /dev/null
+++ b/src/app/landingPages/dataProvider/dataProvider.component.ts
@@ -0,0 +1,17 @@
+import {Component, ViewChild, ElementRef} from '@angular/core';
+
+@Component({
+ selector: 'openaire-dataprovider',
+ template: ` `,
+ })
+export class OpenaireDataProviderComponent{
+ constructor ( ) {
+
+ }
+
+ ngOnInit() {
+}
+
+
+
+}
diff --git a/src/app/landingPages/dataProvider/libDataProvider.module.ts b/src/app/landingPages/dataProvider/libDataProvider.module.ts
new file mode 100644
index 0000000..e1b3819
--- /dev/null
+++ b/src/app/landingPages/dataProvider/libDataProvider.module.ts
@@ -0,0 +1,18 @@
+//import {MaterialModule} from '@angular/material';
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+import { DataProviderModule } from '../../openaireLibrary/landingPages/dataProvider/dataProvider.module';
+import { OpenaireDataProviderComponent } from './dataProvider.component';
+import {DataProviderRoutingModule} from './dataProvider-routing.module';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+@NgModule({
+ imports: [DataProviderModule, DataProviderRoutingModule],
+ declarations:[OpenaireDataProviderComponent],
+ providers:[FreeGuard, PreviousRouteRecorder, IsRouteEnabled],
+ exports:[OpenaireDataProviderComponent]
+})
+export class LibDataProviderModule { }
diff --git a/src/app/landingPages/dataset/dataset-routing.module.ts b/src/app/landingPages/dataset/dataset-routing.module.ts
new file mode 100644
index 0000000..e5a53a5
--- /dev/null
+++ b/src/app/landingPages/dataset/dataset-routing.module.ts
@@ -0,0 +1,19 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import { OpenaireDatasetComponent } from './dataset.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireDatasetComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ },canDeactivate: [PreviousRouteRecorder] }
+ ])
+]
+})
+export class DatasetRoutingModule { }
diff --git a/src/app/landingPages/dataset/dataset.component.ts b/src/app/landingPages/dataset/dataset.component.ts
new file mode 100644
index 0000000..8bf5e06
--- /dev/null
+++ b/src/app/landingPages/dataset/dataset.component.ts
@@ -0,0 +1,17 @@
+import {Component, ViewChild, ElementRef} from '@angular/core';
+
+@Component({
+ selector: 'openaire-dataset',
+ template: ` `,
+ })
+export class OpenaireDatasetComponent{
+ constructor ( ) {
+
+ }
+
+ ngOnInit() {
+}
+
+
+
+}
diff --git a/src/app/landingPages/dataset/libDataset.module.ts b/src/app/landingPages/dataset/libDataset.module.ts
new file mode 100644
index 0000000..f167d67
--- /dev/null
+++ b/src/app/landingPages/dataset/libDataset.module.ts
@@ -0,0 +1,19 @@
+//import {MaterialModule} from '@angular/material';
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+import { SharedModule } from '../../shared/shared.module';
+import { RouterModule } from '@angular/router';
+import { DatasetModule } from '../../openaireLibrary/landingPages/dataset/dataset.module';
+import { OpenaireDatasetComponent } from './dataset.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+import {DatasetRoutingModule} from './dataset-routing.module';
+ @NgModule({
+ imports: [DatasetModule, DatasetRoutingModule],
+ declarations:[OpenaireDatasetComponent],
+ providers:[FreeGuard, PreviousRouteRecorder, IsRouteEnabled],
+ exports:[OpenaireDatasetComponent]
+})
+export class LibDatasetModule { }
diff --git a/src/app/landingPages/htmlProjectReport/htmlProjectReport-routing.module.ts b/src/app/landingPages/htmlProjectReport/htmlProjectReport-routing.module.ts
new file mode 100644
index 0000000..7d3895a
--- /dev/null
+++ b/src/app/landingPages/htmlProjectReport/htmlProjectReport-routing.module.ts
@@ -0,0 +1,15 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import { OpenaireHtmlProjectReportComponent } from './htmlProjectReport.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireHtmlProjectReportComponent , canActivate: [FreeGuard, IsRouteEnabled],canDeactivate: [PreviousRouteRecorder]}
+ ])
+]
+})
+export class HtmlProjectReportRoutingModule { }
diff --git a/src/app/landingPages/htmlProjectReport/htmlProjectReport.component.ts b/src/app/landingPages/htmlProjectReport/htmlProjectReport.component.ts
new file mode 100644
index 0000000..e834441
--- /dev/null
+++ b/src/app/landingPages/htmlProjectReport/htmlProjectReport.component.ts
@@ -0,0 +1,17 @@
+import {Component, ViewChild, ElementRef} from '@angular/core';
+
+@Component({
+ selector: 'openaire-htmlProjectReport',
+ template: ` `,
+ })
+export class OpenaireHtmlProjectReportComponent{
+ constructor ( ) {
+
+ }
+
+ ngOnInit() {
+}
+
+
+
+}
diff --git a/src/app/landingPages/htmlProjectReport/libHtmlProjectReport.module.ts b/src/app/landingPages/htmlProjectReport/libHtmlProjectReport.module.ts
new file mode 100644
index 0000000..769370d
--- /dev/null
+++ b/src/app/landingPages/htmlProjectReport/libHtmlProjectReport.module.ts
@@ -0,0 +1,20 @@
+//import {MaterialModule} from '@angular/material';
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+import { SharedModule } from '../../shared/shared.module';
+import { RouterModule } from '@angular/router';
+import { HtmlProjectReportModule } from '../../openaireLibrary/landingPages/htmlProjectReport/htmlProjectReport.module';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+import { OpenaireHtmlProjectReportComponent } from './htmlProjectReport.component';
+import {HtmlProjectReportRoutingModule} from './htmlProjectReport-routing.module';
+
+@NgModule({
+ imports: [HtmlProjectReportModule, HtmlProjectReportRoutingModule],
+ declarations:[OpenaireHtmlProjectReportComponent],
+ providers:[FreeGuard, PreviousRouteRecorder, IsRouteEnabled],
+ exports:[OpenaireHtmlProjectReportComponent]
+})
+export class LibHtmlProjectReportModule { }
diff --git a/src/app/landingPages/organization/libOrganization.module.ts b/src/app/landingPages/organization/libOrganization.module.ts
new file mode 100644
index 0000000..4fc9dfb
--- /dev/null
+++ b/src/app/landingPages/organization/libOrganization.module.ts
@@ -0,0 +1,20 @@
+//import {MaterialModule} from '@angular/material';
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+import { SharedModule } from '../../shared/shared.module';
+import { RouterModule } from '@angular/router';
+import { OrganizationModule } from '../../openaireLibrary/landingPages/organization/organization.module';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+import { OpenaireOrganizationComponent } from './organization.component';
+import {OrganizationRoutingModule} from './organization-routing.module';
+
+@NgModule({
+ imports: [OrganizationModule, OrganizationRoutingModule],
+ declarations:[OpenaireOrganizationComponent],
+ providers:[FreeGuard, PreviousRouteRecorder, IsRouteEnabled],
+ exports:[OpenaireOrganizationComponent]
+})
+export class LibOrganizationModule { }
diff --git a/src/app/landingPages/organization/organization-routing.module.ts b/src/app/landingPages/organization/organization-routing.module.ts
new file mode 100644
index 0000000..a8d3e70
--- /dev/null
+++ b/src/app/landingPages/organization/organization-routing.module.ts
@@ -0,0 +1,20 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import { OpenaireOrganizationComponent } from './organization.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireOrganizationComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ },canDeactivate: [PreviousRouteRecorder] }
+ ])
+]
+})
+export class OrganizationRoutingModule { }
diff --git a/src/app/landingPages/organization/organization.component.ts b/src/app/landingPages/organization/organization.component.ts
new file mode 100644
index 0000000..f3df57b
--- /dev/null
+++ b/src/app/landingPages/organization/organization.component.ts
@@ -0,0 +1,17 @@
+import {Component, ViewChild, ElementRef} from '@angular/core';
+
+@Component({
+ selector: 'openaire-organization',
+ template: ` `,
+ })
+export class OpenaireOrganizationComponent{
+ constructor ( ) {
+
+ }
+
+ ngOnInit() {
+}
+
+
+
+}
diff --git a/src/app/landingPages/orp/libOrp.module.ts b/src/app/landingPages/orp/libOrp.module.ts
new file mode 100644
index 0000000..813c5e6
--- /dev/null
+++ b/src/app/landingPages/orp/libOrp.module.ts
@@ -0,0 +1,19 @@
+//import {MaterialModule} from '@angular/material';
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+import { SharedModule } from '../../shared/shared.module';
+import { RouterModule } from '@angular/router';
+import { OrpModule } from '../../openaireLibrary/landingPages/orp/orp.module';
+import { OpenaireOrpComponent } from './orp.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+import {OrpRoutingModule} from './orp-routing.module';
+ @NgModule({
+ imports: [OrpModule, OrpRoutingModule],
+ declarations:[OpenaireOrpComponent],
+ providers:[FreeGuard, PreviousRouteRecorder, IsRouteEnabled],
+ exports:[OpenaireOrpComponent]
+})
+export class LibOrpModule { }
diff --git a/src/app/landingPages/orp/orp-routing.module.ts b/src/app/landingPages/orp/orp-routing.module.ts
new file mode 100644
index 0000000..8ac82b7
--- /dev/null
+++ b/src/app/landingPages/orp/orp-routing.module.ts
@@ -0,0 +1,19 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import { OpenaireOrpComponent } from './orp.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireOrpComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ },canDeactivate: [PreviousRouteRecorder] }
+ ])
+]
+})
+export class OrpRoutingModule { }
diff --git a/src/app/landingPages/orp/orp.component.ts b/src/app/landingPages/orp/orp.component.ts
new file mode 100644
index 0000000..a63b6fa
--- /dev/null
+++ b/src/app/landingPages/orp/orp.component.ts
@@ -0,0 +1,17 @@
+import {Component, ViewChild, ElementRef} from '@angular/core';
+
+@Component({
+ selector: 'openaire-orp',
+ template: ` `,
+ })
+export class OpenaireOrpComponent{
+ constructor ( ) {
+
+ }
+
+ ngOnInit() {
+}
+
+
+
+}
diff --git a/src/app/landingPages/project/libProject.module.ts b/src/app/landingPages/project/libProject.module.ts
new file mode 100644
index 0000000..8e2dbd9
--- /dev/null
+++ b/src/app/landingPages/project/libProject.module.ts
@@ -0,0 +1,20 @@
+//import {MaterialModule} from '@angular/material';
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+import { SharedModule } from '../../shared/shared.module';
+import { RouterModule } from '@angular/router';
+import { ProjectModule } from '../../openaireLibrary/landingPages/project/project.module';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+import { OpenaireProjectComponent } from './project.component';
+import {ProjectRoutingModule} from './project-routing.module';
+
+@NgModule({
+ imports: [ProjectModule, ProjectRoutingModule],
+ declarations:[OpenaireProjectComponent],
+ providers:[FreeGuard, PreviousRouteRecorder, IsRouteEnabled],
+ exports:[OpenaireProjectComponent]
+})
+export class LibProjectModule { }
diff --git a/src/app/landingPages/project/project-routing.module.ts b/src/app/landingPages/project/project-routing.module.ts
new file mode 100644
index 0000000..23d2efa
--- /dev/null
+++ b/src/app/landingPages/project/project-routing.module.ts
@@ -0,0 +1,19 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import { OpenaireProjectComponent } from './project.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireProjectComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ },canDeactivate: [PreviousRouteRecorder] }
+ ])
+ ]
+})
+export class ProjectRoutingModule { }
diff --git a/src/app/landingPages/project/project.component.ts b/src/app/landingPages/project/project.component.ts
new file mode 100644
index 0000000..f4876ba
--- /dev/null
+++ b/src/app/landingPages/project/project.component.ts
@@ -0,0 +1,17 @@
+import {Component, ViewChild, ElementRef} from '@angular/core';
+
+@Component({
+ selector: 'openaire-project',
+ template: ` `,
+ })
+export class OpenaireProjectComponent{
+ constructor ( ) {
+
+ }
+
+ ngOnInit() {
+}
+
+
+
+}
diff --git a/src/app/landingPages/publication/libPublication.module.ts b/src/app/landingPages/publication/libPublication.module.ts
new file mode 100644
index 0000000..8a8eae2
--- /dev/null
+++ b/src/app/landingPages/publication/libPublication.module.ts
@@ -0,0 +1,20 @@
+//import {MaterialModule} from '@angular/material';
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+import { SharedModule } from '../../shared/shared.module';
+import { RouterModule } from '@angular/router';
+import { PublicationModule } from '../../openaireLibrary/landingPages/publication/publication.module';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+import { OpenairePublicationComponent } from './publication.component';
+import {PublicationRoutingModule} from './publication-routing.module';
+
+@NgModule({
+ imports: [PublicationModule, PublicationRoutingModule],
+ declarations:[OpenairePublicationComponent],
+ providers:[FreeGuard, PreviousRouteRecorder, IsRouteEnabled],
+ exports:[OpenairePublicationComponent]
+})
+export class LibPublicationModule { }
diff --git a/src/app/landingPages/publication/publication-routing.module.ts b/src/app/landingPages/publication/publication-routing.module.ts
new file mode 100644
index 0000000..629d846
--- /dev/null
+++ b/src/app/landingPages/publication/publication-routing.module.ts
@@ -0,0 +1,19 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import {OpenairePublicationComponent } from './publication.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenairePublicationComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ },canDeactivate: [PreviousRouteRecorder] }
+ ])
+]
+})
+export class PublicationRoutingModule { }
diff --git a/src/app/landingPages/publication/publication.component.ts b/src/app/landingPages/publication/publication.component.ts
new file mode 100644
index 0000000..4120950
--- /dev/null
+++ b/src/app/landingPages/publication/publication.component.ts
@@ -0,0 +1,17 @@
+import {Component, ViewChild, ElementRef} from '@angular/core';
+
+@Component({
+ selector: 'openaire-publication',
+ template: ` `,
+ })
+export class OpenairePublicationComponent{
+ constructor ( ) {
+
+ }
+
+ ngOnInit() {
+}
+
+
+
+}
diff --git a/src/app/landingPages/software/libSoftware.module.ts b/src/app/landingPages/software/libSoftware.module.ts
new file mode 100644
index 0000000..2d11fad
--- /dev/null
+++ b/src/app/landingPages/software/libSoftware.module.ts
@@ -0,0 +1,19 @@
+//import {MaterialModule} from '@angular/material';
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import { RouterModule } from '@angular/router';
+import { SoftwareModule } from '../../openaireLibrary/landingPages/software/software.module';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+import { OpenaireSoftwareComponent } from './software.component';
+import {SoftwareRoutingModule} from './software-routing.module';
+@NgModule({
+ imports: [SoftwareModule, SoftwareRoutingModule],
+ declarations:[OpenaireSoftwareComponent],
+ providers:[FreeGuard, PreviousRouteRecorder, IsRouteEnabled],
+ exports:[OpenaireSoftwareComponent]
+})
+export class LibSoftwareModule { }
diff --git a/src/app/landingPages/software/software-routing.module.ts b/src/app/landingPages/software/software-routing.module.ts
new file mode 100644
index 0000000..845f9fd
--- /dev/null
+++ b/src/app/landingPages/software/software-routing.module.ts
@@ -0,0 +1,16 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import {OpenaireSoftwareComponent } from './software.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireSoftwareComponent, canActivate: [FreeGuard, IsRouteEnabled],canDeactivate: [PreviousRouteRecorder] }
+ ])
+]
+})
+export class SoftwareRoutingModule { }
diff --git a/src/app/landingPages/software/software.component.ts b/src/app/landingPages/software/software.component.ts
new file mode 100644
index 0000000..b073066
--- /dev/null
+++ b/src/app/landingPages/software/software.component.ts
@@ -0,0 +1,17 @@
+import {Component, ViewChild, ElementRef} from '@angular/core';
+
+@Component({
+ selector: 'openaire-software',
+ template: ` `,
+ })
+export class OpenaireSoftwareComponent{
+ constructor ( ) {
+
+ }
+
+ ngOnInit() {
+}
+
+
+
+}
diff --git a/src/app/login/libUser.module.ts b/src/app/login/libUser.module.ts
new file mode 100644
index 0000000..b1040ce
--- /dev/null
+++ b/src/app/login/libUser.module.ts
@@ -0,0 +1,23 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import {OpenaireUserComponent } from './user.component';
+import { UserRoutingModule } from './user-routing.module';
+import { UserModule} from '../openaireLibrary/login/user.module';
+
+import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule,
+ UserRoutingModule, UserModule
+
+ ],
+ providers:[PreviousRouteRecorder],
+ declarations: [
+OpenaireUserComponent
+
+]
+})
+export class LibUserModule { }
diff --git a/src/app/login/user-routing.module.ts b/src/app/login/user-routing.module.ts
new file mode 100644
index 0000000..1a8ad90
--- /dev/null
+++ b/src/app/login/user-routing.module.ts
@@ -0,0 +1,15 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import {OpenaireUserComponent } from './user.component';
+import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireUserComponent, canDeactivate: [PreviousRouteRecorder]},
+
+ ])
+ ]
+})
+export class UserRoutingModule { }
diff --git a/src/app/login/user.component.ts b/src/app/login/user.component.ts
new file mode 100644
index 0000000..76d7038
--- /dev/null
+++ b/src/app/login/user.component.ts
@@ -0,0 +1,11 @@
+import {Component, ElementRef} from '@angular/core';
+import {Observable} from 'rxjs';
+
+@Component({
+ selector: 'openaire-user',
+ template: ` `
+ })
+
+export class OpenaireUserComponent {
+
+}
diff --git a/src/app/reload/libReload.module.ts b/src/app/reload/libReload.module.ts
new file mode 100644
index 0000000..d982aaa
--- /dev/null
+++ b/src/app/reload/libReload.module.ts
@@ -0,0 +1,23 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+import { RouterModule } from '@angular/router';
+
+ import{ReloadModule} from '../openaireLibrary/reload/reload.module';
+
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule, RouterModule, ReloadModule
+ ],
+ declarations: [
+
+ ],
+ providers:[
+
+ ],
+ exports: [
+
+ ]
+})
+export class LibReloadModule { }
diff --git a/src/app/searchPages/advanced/advancedSearchDataProviders-routing.module.ts b/src/app/searchPages/advanced/advancedSearchDataProviders-routing.module.ts
new file mode 100644
index 0000000..febdaa8
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchDataProviders-routing.module.ts
@@ -0,0 +1,20 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+import{OpenaireAdvancedSearchDataProvidersComponent} from './advancedSearchDataProviders.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireAdvancedSearchDataProvidersComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ }, canDeactivate: [PreviousRouteRecorder] }
+
+ ])
+ ]
+})
+export class AdvancedSearchDataProvidersRoutingModule { }
diff --git a/src/app/searchPages/advanced/advancedSearchDataProviders.component.ts b/src/app/searchPages/advanced/advancedSearchDataProviders.component.ts
new file mode 100644
index 0000000..f5cc238
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchDataProviders.component.ts
@@ -0,0 +1,14 @@
+import {Component, Input, ViewChild} from '@angular/core';
+
+
+@Component({
+ selector: 'openaire-advanced-search-dataprovider',
+ template: `
+
+
+
+ `
+ })
+
+export class OpenaireAdvancedSearchDataProvidersComponent {
+}
diff --git a/src/app/searchPages/advanced/advancedSearchDataProviders.module.ts b/src/app/searchPages/advanced/advancedSearchDataProviders.module.ts
new file mode 100644
index 0000000..03ab04b
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchDataProviders.module.ts
@@ -0,0 +1,28 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import{ AdvancedSearchDataProvidersRoutingModule} from './advancedSearchDataProviders-routing.module';
+import{OpenaireAdvancedSearchDataProvidersComponent} from './advancedSearchDataProviders.component';
+import {AdvancedSearchDataProvidersModule } from '../../openaireLibrary/searchPages/advanced/advancedSearchDataProviders.module';
+
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule,
+ AdvancedSearchDataProvidersRoutingModule,
+ AdvancedSearchDataProvidersModule
+
+ ],
+ declarations: [
+ OpenaireAdvancedSearchDataProvidersComponent
+ ],
+ providers:[FreeGuard, IsRouteEnabled],
+ exports: [
+ OpenaireAdvancedSearchDataProvidersComponent
+ ]
+})
+export class LibAdvancedSearchDataProvidersModule { }
diff --git a/src/app/searchPages/advanced/advancedSearchDatasets-routing.module.ts b/src/app/searchPages/advanced/advancedSearchDatasets-routing.module.ts
new file mode 100644
index 0000000..9d6ac54
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchDatasets-routing.module.ts
@@ -0,0 +1,20 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import{OpenaireAdvancedSearchDatasetsComponent} from './advancedSearchDatasets.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireAdvancedSearchDatasetsComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ }, canDeactivate: [PreviousRouteRecorder] }
+
+ ])
+ ]
+})
+export class AdvancedSearchDatasetsRoutingModule { }
diff --git a/src/app/searchPages/advanced/advancedSearchDatasets.component.ts b/src/app/searchPages/advanced/advancedSearchDatasets.component.ts
new file mode 100644
index 0000000..86e57d0
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchDatasets.component.ts
@@ -0,0 +1,16 @@
+import {Component, Input, ViewChild} from '@angular/core';
+
+
+@Component({
+ selector: 'openaire-advanced-search-datasets',
+ template: `
+
+
+
+ `
+ })
+
+export class OpenaireAdvancedSearchDatasetsComponent {
+
+
+}
diff --git a/src/app/searchPages/advanced/advancedSearchDatasets.module.ts b/src/app/searchPages/advanced/advancedSearchDatasets.module.ts
new file mode 100644
index 0000000..3df2c85
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchDatasets.module.ts
@@ -0,0 +1,29 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import{ AdvancedSearchDatasetsRoutingModule} from './advancedSearchDatasets-routing.module';
+import{OpenaireAdvancedSearchDatasetsComponent} from './advancedSearchDatasets.component';
+
+
+ import {AdvancedSearchDatasetsModule } from '../../openaireLibrary/searchPages/advanced/advancedSearchDatasets.module';
+ import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+ import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+ import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule,
+ AdvancedSearchDatasetsModule,
+ AdvancedSearchDatasetsRoutingModule
+
+ ],
+ declarations: [
+ OpenaireAdvancedSearchDatasetsComponent
+ ],
+ providers:[FreeGuard, IsRouteEnabled],
+ exports: [
+ OpenaireAdvancedSearchDatasetsComponent
+ ]
+})
+export class LibAdvancedSearchDatasetsModule { }
diff --git a/src/app/searchPages/advanced/advancedSearchOrganizations-routing.module.ts b/src/app/searchPages/advanced/advancedSearchOrganizations-routing.module.ts
new file mode 100644
index 0000000..13ecad7
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchOrganizations-routing.module.ts
@@ -0,0 +1,20 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import{OpenaireAdvancedSearchOrganizationsComponent} from './advancedSearchOrganizations.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireAdvancedSearchOrganizationsComponent , canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ },canDeactivate: [PreviousRouteRecorder]}
+
+ ])
+ ]
+})
+export class AdvancedSearchOrganizationsRoutingModule { }
diff --git a/src/app/searchPages/advanced/advancedSearchOrganizations.component.ts b/src/app/searchPages/advanced/advancedSearchOrganizations.component.ts
new file mode 100644
index 0000000..cc9339e
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchOrganizations.component.ts
@@ -0,0 +1,16 @@
+import {Component, Input, ViewChild} from '@angular/core';
+
+
+@Component({
+ selector: 'openaire-advanced-search-organizations',
+ template: `
+
+
+
+ `
+ })
+
+export class OpenaireAdvancedSearchOrganizationsComponent {
+
+
+}
diff --git a/src/app/searchPages/advanced/advancedSearchOrganizations.module.ts b/src/app/searchPages/advanced/advancedSearchOrganizations.module.ts
new file mode 100644
index 0000000..6bccbcc
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchOrganizations.module.ts
@@ -0,0 +1,29 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import{ AdvancedSearchOrganizationsRoutingModule} from './advancedSearchOrganizations-routing.module';
+import{OpenaireAdvancedSearchOrganizationsComponent} from './advancedSearchOrganizations.component';
+
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+
+ import { AdvancedSearchOrganizationsModule} from '../../openaireLibrary/searchPages/advanced/advancedSearchOrganizations.module';
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule,
+ AdvancedSearchOrganizationsModule,
+ AdvancedSearchOrganizationsRoutingModule
+
+ ],
+ declarations: [
+ OpenaireAdvancedSearchOrganizationsComponent
+ ],
+ providers:[FreeGuard, IsRouteEnabled],
+ exports: [
+ OpenaireAdvancedSearchOrganizationsComponent
+ ]
+})
+export class LibAdvancedSearchOrganizationsModule { }
diff --git a/src/app/searchPages/advanced/advancedSearchOrps-routing.module.ts b/src/app/searchPages/advanced/advancedSearchOrps-routing.module.ts
new file mode 100644
index 0000000..d131f70
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchOrps-routing.module.ts
@@ -0,0 +1,20 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import{OpenaireAdvancedSearchOrpsComponent} from './advancedSearchOrps.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireAdvancedSearchOrpsComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ }, canDeactivate: [PreviousRouteRecorder] }
+
+ ])
+ ]
+})
+export class AdvancedSearchOrpsRoutingModule { }
diff --git a/src/app/searchPages/advanced/advancedSearchOrps.component.ts b/src/app/searchPages/advanced/advancedSearchOrps.component.ts
new file mode 100644
index 0000000..262ab1b
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchOrps.component.ts
@@ -0,0 +1,16 @@
+import {Component, Input, ViewChild} from '@angular/core';
+
+
+@Component({
+ selector: 'openaire-advanced-search-orps',
+ template: `
+
+
+
+ `
+ })
+
+export class OpenaireAdvancedSearchOrpsComponent {
+
+
+}
diff --git a/src/app/searchPages/advanced/advancedSearchOrps.module.ts b/src/app/searchPages/advanced/advancedSearchOrps.module.ts
new file mode 100644
index 0000000..8d8d313
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchOrps.module.ts
@@ -0,0 +1,29 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import { AdvancedSearchOrpsRoutingModule} from './advancedSearchOrps-routing.module';
+import { OpenaireAdvancedSearchOrpsComponent} from './advancedSearchOrps.component';
+
+
+ import {AdvancedSearchOrpsModule } from '../../openaireLibrary/searchPages/advanced/advancedSearchOrps.module';
+ import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+ import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+ import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule,
+ AdvancedSearchOrpsModule,
+ AdvancedSearchOrpsRoutingModule
+
+ ],
+ declarations: [
+ OpenaireAdvancedSearchOrpsComponent
+ ],
+ providers:[FreeGuard, IsRouteEnabled],
+ exports: [
+ OpenaireAdvancedSearchOrpsComponent
+ ]
+})
+export class LibAdvancedSearchOrpsModule { }
diff --git a/src/app/searchPages/advanced/advancedSearchProjects-routing.module.ts b/src/app/searchPages/advanced/advancedSearchProjects-routing.module.ts
new file mode 100644
index 0000000..d179612
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchProjects-routing.module.ts
@@ -0,0 +1,20 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import{OpenaireAdvancedSearchProjectsComponent} from './advancedSearchProjects.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireAdvancedSearchProjectsComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ }, canDeactivate: [PreviousRouteRecorder] }
+
+ ])
+ ]
+})
+export class AdvancedSearchProjectsRoutingModule { }
diff --git a/src/app/searchPages/advanced/advancedSearchProjects.component.ts b/src/app/searchPages/advanced/advancedSearchProjects.component.ts
new file mode 100644
index 0000000..50bf7e4
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchProjects.component.ts
@@ -0,0 +1,13 @@
+import {Component, Input, ViewChild} from '@angular/core';
+@Component({
+ selector: 'openaire-advanced-search-projects',
+ template: `
+
+
+
+ `
+ })
+
+export class OpenaireAdvancedSearchProjectsComponent {
+
+}
diff --git a/src/app/searchPages/advanced/advancedSearchProjects.module.ts b/src/app/searchPages/advanced/advancedSearchProjects.module.ts
new file mode 100644
index 0000000..4949aa8
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchProjects.module.ts
@@ -0,0 +1,29 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import{ AdvancedSearchProjectsRoutingModule} from './advancedSearchProjects-routing.module';
+import{OpenaireAdvancedSearchProjectsComponent} from './advancedSearchProjects.component';
+
+
+ import {AdvancedSearchProjectsModule } from '../../openaireLibrary/searchPages/advanced/advancedSearchProjects.module';
+ import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+ import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+ import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule,
+ AdvancedSearchProjectsModule,
+ AdvancedSearchProjectsRoutingModule
+
+ ],
+ declarations: [
+ OpenaireAdvancedSearchProjectsComponent
+ ],
+ providers:[FreeGuard, IsRouteEnabled],
+ exports: [
+ OpenaireAdvancedSearchProjectsComponent
+ ]
+})
+export class LibAdvancedSearchProjectsModule { }
diff --git a/src/app/searchPages/advanced/advancedSearchPublications-routing.module.ts b/src/app/searchPages/advanced/advancedSearchPublications-routing.module.ts
new file mode 100644
index 0000000..b755d0a
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchPublications-routing.module.ts
@@ -0,0 +1,20 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import{OpenaireAdvancedSearchPublicationsComponent} from './advancedSearchPublications.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireAdvancedSearchPublicationsComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ }, canDeactivate: [PreviousRouteRecorder] }
+
+ ])
+ ]
+})
+export class AdvancedSearchPublicationsRoutingModule { }
diff --git a/src/app/searchPages/advanced/advancedSearchPublications.component.ts b/src/app/searchPages/advanced/advancedSearchPublications.component.ts
new file mode 100644
index 0000000..26e393d
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchPublications.component.ts
@@ -0,0 +1,13 @@
+import {Component, Input, ViewChild} from '@angular/core';
+
+
+@Component({
+ selector: 'openaire-advanced-search-publications',
+ template: `
+
+
+ `
+ })
+
+export class OpenaireAdvancedSearchPublicationsComponent {
+}
diff --git a/src/app/searchPages/advanced/advancedSearchPublications.module.ts b/src/app/searchPages/advanced/advancedSearchPublications.module.ts
new file mode 100644
index 0000000..3b92f3d
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchPublications.module.ts
@@ -0,0 +1,29 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import{ AdvancedSearchPublicationsRoutingModule} from './advancedSearchPublications-routing.module';
+import{OpenaireAdvancedSearchPublicationsComponent} from './advancedSearchPublications.component';
+
+
+ import {AdvancedSearchPublicationsModule } from '../../openaireLibrary/searchPages/advanced/advancedSearchPublications.module';
+ import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+ import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+ import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule,
+ AdvancedSearchPublicationsModule,
+ AdvancedSearchPublicationsRoutingModule
+
+ ],
+ declarations: [
+ OpenaireAdvancedSearchPublicationsComponent
+ ],
+ providers:[FreeGuard, IsRouteEnabled],
+ exports: [
+ OpenaireAdvancedSearchPublicationsComponent
+ ]
+})
+export class LibAdvancedSearchPublicationsModule { }
diff --git a/src/app/searchPages/advanced/advancedSearchSoftware-routing.module.ts b/src/app/searchPages/advanced/advancedSearchSoftware-routing.module.ts
new file mode 100644
index 0000000..e352163
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchSoftware-routing.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import{OpenaireAdvancedSearchSoftwareComponent} from './advancedSearchSoftware.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireAdvancedSearchSoftwareComponent, canActivate: [FreeGuard],canDeactivate: [PreviousRouteRecorder] }
+
+ ])
+ ]
+})
+export class AdvancedSearchSoftwareRoutingModule { }
diff --git a/src/app/searchPages/advanced/advancedSearchSoftware.component.ts b/src/app/searchPages/advanced/advancedSearchSoftware.component.ts
new file mode 100644
index 0000000..4bc30c7
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchSoftware.component.ts
@@ -0,0 +1,15 @@
+import {Component, Input, ViewChild} from '@angular/core';
+
+@Component({
+ selector: 'openaire-advanced-search-software',
+ template: `
+
+
+
+ `
+ })
+
+export class OpenaireAdvancedSearchSoftwareComponent {
+
+
+}
diff --git a/src/app/searchPages/advanced/advancedSearchSoftware.module.ts b/src/app/searchPages/advanced/advancedSearchSoftware.module.ts
new file mode 100644
index 0000000..f379f3d
--- /dev/null
+++ b/src/app/searchPages/advanced/advancedSearchSoftware.module.ts
@@ -0,0 +1,30 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import{ AdvancedSearchSoftwareRoutingModule} from './advancedSearchSoftware-routing.module';
+import{OpenaireAdvancedSearchSoftwareComponent} from './advancedSearchSoftware.component';
+
+
+ import {AdvancedSearchSoftwareModule } from '../../openaireLibrary/searchPages/advanced/advancedSearchSoftware.module';
+ import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+ import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+ import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule,
+ AdvancedSearchSoftwareModule,
+ AdvancedSearchSoftwareRoutingModule
+
+ ],
+ declarations: [
+ OpenaireAdvancedSearchSoftwareComponent
+ ],
+ providers:[FreeGuard
+ ],
+ exports: [
+ OpenaireAdvancedSearchSoftwareComponent
+ ]
+})
+export class LibAdvancedSearchSoftwareModule { }
diff --git a/src/app/searchPages/dataProviders/compatibleDataProviders-routing.module.ts b/src/app/searchPages/dataProviders/compatibleDataProviders-routing.module.ts
new file mode 100644
index 0000000..6221c85
--- /dev/null
+++ b/src/app/searchPages/dataProviders/compatibleDataProviders-routing.module.ts
@@ -0,0 +1,20 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import{OpenaireSearchCompatibleDataprovidersComponent} from './compatibleDataProviders.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireSearchCompatibleDataprovidersComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ }, canDeactivate: [PreviousRouteRecorder] }
+
+ ])
+ ]
+})
+export class CompatibleDataProvidersRoutingModule { }
diff --git a/src/app/searchPages/dataProviders/compatibleDataProviders.component.ts b/src/app/searchPages/dataProviders/compatibleDataProviders.component.ts
new file mode 100644
index 0000000..d74440b
--- /dev/null
+++ b/src/app/searchPages/dataProviders/compatibleDataProviders.component.ts
@@ -0,0 +1,16 @@
+import {Component, Input, ViewChild} from '@angular/core';
+import { ActivatedRoute} from '@angular/router';
+
+@Component({
+ selector: 'openaire-search-content-providers',
+ template: `
+
+
+
+
+ `
+
+})
+export class OpenaireSearchCompatibleDataprovidersComponent {
+
+}
diff --git a/src/app/searchPages/dataProviders/compatibleDataProviders.module.ts b/src/app/searchPages/dataProviders/compatibleDataProviders.module.ts
new file mode 100644
index 0000000..8ce1cb9
--- /dev/null
+++ b/src/app/searchPages/dataProviders/compatibleDataProviders.module.ts
@@ -0,0 +1,29 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import{ CompatibleDataProvidersRoutingModule} from './compatibleDataProviders-routing.module';
+import{OpenaireSearchCompatibleDataprovidersComponent} from './compatibleDataProviders.component';
+
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+
+import { CompatibleDataProvidersModule} from '../../openaireLibrary/searchPages/dataProviders/compatibleDataProviders.module';
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule,
+ CompatibleDataProvidersModule,
+ CompatibleDataProvidersRoutingModule
+
+ ],
+ declarations: [
+ OpenaireSearchCompatibleDataprovidersComponent
+ ],
+ providers:[FreeGuard, IsRouteEnabled],
+ exports: [
+ OpenaireSearchCompatibleDataprovidersComponent
+ ]
+})
+export class LibCompatibleDataProvidersModule { }
diff --git a/src/app/searchPages/dataProviders/compatibleDataProvidersTable-routing.module.ts b/src/app/searchPages/dataProviders/compatibleDataProvidersTable-routing.module.ts
new file mode 100644
index 0000000..d3d7b17
--- /dev/null
+++ b/src/app/searchPages/dataProviders/compatibleDataProvidersTable-routing.module.ts
@@ -0,0 +1,20 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import{OpenaireSearchCompatibleDataprovidersTableComponent} from './compatibleDataProvidersTable.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireSearchCompatibleDataprovidersTableComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ }, canDeactivate: [PreviousRouteRecorder] }
+
+ ])
+ ]
+})
+export class CompatibleDataProvidersTableRoutingModule { }
diff --git a/src/app/searchPages/dataProviders/compatibleDataProvidersTable.component.ts b/src/app/searchPages/dataProviders/compatibleDataProvidersTable.component.ts
new file mode 100644
index 0000000..eb8908f
--- /dev/null
+++ b/src/app/searchPages/dataProviders/compatibleDataProvidersTable.component.ts
@@ -0,0 +1,14 @@
+import {Component, Input, ViewChild} from '@angular/core';
+
+
+@Component({
+ selector: 'openaire-search-content-providers-table',
+ template: `
+
+
+
+ `
+
+})
+export class OpenaireSearchCompatibleDataprovidersTableComponent {
+}
diff --git a/src/app/searchPages/dataProviders/compatibleDataProvidersTable.module.ts b/src/app/searchPages/dataProviders/compatibleDataProvidersTable.module.ts
new file mode 100644
index 0000000..495ccac
--- /dev/null
+++ b/src/app/searchPages/dataProviders/compatibleDataProvidersTable.module.ts
@@ -0,0 +1,26 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import{OpenaireSearchCompatibleDataprovidersTableComponent} from './compatibleDataProvidersTable.component';
+import {CompatibleDataProvidersTableRoutingModule} from './compatibleDataProvidersTable-routing.module';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+import { CompatibleDataProvidersTableModule} from '../../openaireLibrary/searchPages/dataProviders/compatibleDataProvidersTable.module';
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule,
+ CompatibleDataProvidersTableModule,
+ CompatibleDataProvidersTableRoutingModule
+
+ ], providers:[FreeGuard, IsRouteEnabled],
+ declarations: [
+ OpenaireSearchCompatibleDataprovidersTableComponent
+ ],
+ exports: [
+ OpenaireSearchCompatibleDataprovidersTableComponent
+ ]
+})
+export class LibCompatibleDataProvidersTableModule { }
diff --git a/src/app/searchPages/dataProviders/entityRegistries-routing.module.ts b/src/app/searchPages/dataProviders/entityRegistries-routing.module.ts
new file mode 100644
index 0000000..b1baff2
--- /dev/null
+++ b/src/app/searchPages/dataProviders/entityRegistries-routing.module.ts
@@ -0,0 +1,19 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import{OpenaireSearchEntityRegistriesComponent} from './entityRegistries.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireSearchEntityRegistriesComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ }, canDeactivate: [PreviousRouteRecorder] }
+
+ ])
+ ]
+})
+export class EntityRegistriesRoutingModule { }
diff --git a/src/app/searchPages/dataProviders/entityRegistries.component.ts b/src/app/searchPages/dataProviders/entityRegistries.component.ts
new file mode 100644
index 0000000..82336f9
--- /dev/null
+++ b/src/app/searchPages/dataProviders/entityRegistries.component.ts
@@ -0,0 +1,16 @@
+import {Component, Input, ViewChild} from '@angular/core';
+import { ActivatedRoute} from '@angular/router';
+
+@Component({
+ selector: 'openaire-search-entity-registries',
+ template: `
+
+
+
+
+ `
+
+})
+export class OpenaireSearchEntityRegistriesComponent {
+
+}
diff --git a/src/app/searchPages/dataProviders/entityRegistries.module.ts b/src/app/searchPages/dataProviders/entityRegistries.module.ts
new file mode 100644
index 0000000..8d81f19
--- /dev/null
+++ b/src/app/searchPages/dataProviders/entityRegistries.module.ts
@@ -0,0 +1,27 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import{ EntityRegistriesRoutingModule} from './entityRegistries-routing.module';
+import{OpenaireSearchEntityRegistriesComponent} from './entityRegistries.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+
+import {EntityRegistriesModule } from '../../openaireLibrary/searchPages/dataProviders/entityRegistries.module';
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule,
+ EntityRegistriesModule, EntityRegistriesRoutingModule
+
+ ],
+ declarations: [
+ OpenaireSearchEntityRegistriesComponent
+ ],
+ providers:[FreeGuard, IsRouteEnabled],
+ exports: [
+ OpenaireSearchEntityRegistriesComponent
+ ]
+})
+export class LibEntityRegistriesModule { }
diff --git a/src/app/searchPages/dataProviders/entityRegistriesTable-routing.module.ts b/src/app/searchPages/dataProviders/entityRegistriesTable-routing.module.ts
new file mode 100644
index 0000000..d0f2250
--- /dev/null
+++ b/src/app/searchPages/dataProviders/entityRegistriesTable-routing.module.ts
@@ -0,0 +1,20 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import{OpenaireSearchEntityRegistriesTableComponent} from './entityRegistriesTable.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireSearchEntityRegistriesTableComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ }, canDeactivate: [PreviousRouteRecorder] }
+
+ ])
+ ]
+})
+export class EntityRegistriesTableRoutingModule { }
diff --git a/src/app/searchPages/dataProviders/entityRegistriesTable.component.ts b/src/app/searchPages/dataProviders/entityRegistriesTable.component.ts
new file mode 100644
index 0000000..108c28d
--- /dev/null
+++ b/src/app/searchPages/dataProviders/entityRegistriesTable.component.ts
@@ -0,0 +1,16 @@
+import {Component} from '@angular/core';
+
+
+@Component({
+ selector: 'openaire-search-entity-registries-table',
+ template: `
+
+
+
+
+ `
+
+})
+export class OpenaireSearchEntityRegistriesTableComponent {
+
+}
diff --git a/src/app/searchPages/dataProviders/entityRegistriesTable.module.ts b/src/app/searchPages/dataProviders/entityRegistriesTable.module.ts
new file mode 100644
index 0000000..6cb5904
--- /dev/null
+++ b/src/app/searchPages/dataProviders/entityRegistriesTable.module.ts
@@ -0,0 +1,27 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import{OpenaireSearchEntityRegistriesTableComponent} from './entityRegistriesTable.component';
+ import {EntityRegistriesTableRoutingModule} from './entityRegistriesTable-routing.module';
+import { EntityRegistriesTableModule} from '../../openaireLibrary/searchPages/dataProviders/entityRegistriesTable.module';
+
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule,
+ EntityRegistriesTableRoutingModule,
+ EntityRegistriesTableModule
+
+ ], providers:[FreeGuard, IsRouteEnabled],
+ declarations: [
+ OpenaireSearchEntityRegistriesTableComponent
+ ],
+ exports: [
+ OpenaireSearchEntityRegistriesTableComponent
+ ]
+})
+export class LibEntityRegistriesTableModule { }
diff --git a/src/app/searchPages/dataProviders/journals-routing.module.ts b/src/app/searchPages/dataProviders/journals-routing.module.ts
new file mode 100644
index 0000000..5c43325
--- /dev/null
+++ b/src/app/searchPages/dataProviders/journals-routing.module.ts
@@ -0,0 +1,20 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import{OpenaireSearchJournalsComponent} from './journals.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireSearchJournalsComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ }, canDeactivate: [PreviousRouteRecorder] }
+
+ ])
+ ]
+})
+export class JournalsRoutingModule { }
diff --git a/src/app/searchPages/dataProviders/journals.component.ts b/src/app/searchPages/dataProviders/journals.component.ts
new file mode 100644
index 0000000..e54fae6
--- /dev/null
+++ b/src/app/searchPages/dataProviders/journals.component.ts
@@ -0,0 +1,14 @@
+import {Component, Input, ViewChild} from '@angular/core';
+import { ActivatedRoute} from '@angular/router';
+
+@Component({
+ selector: 'openaire-search-journals',
+ template: `
+
+
+
+ `
+
+})
+export class OpenaireSearchJournalsComponent {
+}
diff --git a/src/app/searchPages/dataProviders/journals.module.ts b/src/app/searchPages/dataProviders/journals.module.ts
new file mode 100644
index 0000000..db4d595
--- /dev/null
+++ b/src/app/searchPages/dataProviders/journals.module.ts
@@ -0,0 +1,24 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import{ JournalsRoutingModule} from './journals-routing.module';
+import{OpenaireSearchJournalsComponent} from './journals.component';
+import { JournalsModule} from '../../openaireLibrary/searchPages/dataProviders/journals.module';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+@NgModule({
+ imports: [
+ CommonModule, FormsModule, JournalsRoutingModule, JournalsModule
+
+ ],
+ declarations: [
+ OpenaireSearchJournalsComponent
+ ],
+ providers:[FreeGuard, IsRouteEnabled],
+ exports: [
+ OpenaireSearchJournalsComponent
+ ]
+})
+export class LibJournalsModule { }
diff --git a/src/app/searchPages/dataProviders/journalsTable-routing.module.ts b/src/app/searchPages/dataProviders/journalsTable-routing.module.ts
new file mode 100644
index 0000000..6f3aaf7
--- /dev/null
+++ b/src/app/searchPages/dataProviders/journalsTable-routing.module.ts
@@ -0,0 +1,20 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import{OpenaireSearchJournalsTableComponent} from './journalsTable.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireSearchJournalsTableComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ } , canDeactivate: [PreviousRouteRecorder] }
+
+ ])
+ ]
+})
+export class JournalsTableRoutingModule { }
diff --git a/src/app/searchPages/dataProviders/journalsTable.component.ts b/src/app/searchPages/dataProviders/journalsTable.component.ts
new file mode 100644
index 0000000..7d4f066
--- /dev/null
+++ b/src/app/searchPages/dataProviders/journalsTable.component.ts
@@ -0,0 +1,15 @@
+import {Component } from '@angular/core';
+
+
+@Component({
+ selector: 'openaire-search-journals-table',
+ template: `
+
+
+
+ `
+
+})
+export class OpenaireSearchJournalsTableComponent {
+
+}
diff --git a/src/app/searchPages/dataProviders/journalsTable.module.ts b/src/app/searchPages/dataProviders/journalsTable.module.ts
new file mode 100644
index 0000000..c821bd2
--- /dev/null
+++ b/src/app/searchPages/dataProviders/journalsTable.module.ts
@@ -0,0 +1,27 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import{OpenaireSearchJournalsTableComponent} from './journalsTable.component';
+
+import {JournalsTableRoutingModule} from './journalsTable-routing.module';
+
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard';
+import { JournalsTableModule} from '../../openaireLibrary/searchPages/dataProviders/journalsTable.module';
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule,
+ JournalsTableModule, JournalsTableRoutingModule
+
+ ], providers:[FreeGuard, IsRouteEnabled],
+ declarations: [
+ OpenaireSearchJournalsTableComponent
+ ],
+ exports: [
+ OpenaireSearchJournalsTableComponent
+ ]
+})
+export class LibJournalsTableModule { }
diff --git a/src/app/searchPages/find/libSearch.module.ts b/src/app/searchPages/find/libSearch.module.ts
new file mode 100644
index 0000000..84fef82
--- /dev/null
+++ b/src/app/searchPages/find/libSearch.module.ts
@@ -0,0 +1,17 @@
+//import {MaterialModule} from '@angular/material';
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+import { SharedModule } from '../../shared/shared.module';
+import { RouterModule } from '@angular/router';
+import {MainSearchModule} from '../../openaireLibrary/searchPages/find/mainSearch.module';
+
+import { OpenaireSearchComponent } from './search.component';
+import { MainSearchRoutingModule } from './mainSearch-routing.module';
+
+@NgModule({
+ imports: [ MainSearchRoutingModule, MainSearchModule],
+ declarations:[OpenaireSearchComponent],
+ exports:[OpenaireSearchComponent]
+})
+export class LibMainSearchModule { }
diff --git a/src/app/searchPages/find/mainSearch-routing.module.ts b/src/app/searchPages/find/mainSearch-routing.module.ts
new file mode 100644
index 0000000..193e0c1
--- /dev/null
+++ b/src/app/searchPages/find/mainSearch-routing.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import{OpenaireSearchComponent} from './search.component';
+// import {FreeGuard} from'../../login/freeGuard.guard';
+// import {PreviousRouteRecorder} from '../../utils/piwik/previousRouteRecorder.guard';
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireSearchComponent }
+ // { path: '', component: OpenaireSearchComponent, canActivate: [FreeGuard], canDeactivate: [PreviousRouteRecorder] }
+
+ ])
+ ]
+})
+export class MainSearchRoutingModule { }
diff --git a/src/app/searchPages/find/search.component.ts b/src/app/searchPages/find/search.component.ts
new file mode 100644
index 0000000..bfa55ac
--- /dev/null
+++ b/src/app/searchPages/find/search.component.ts
@@ -0,0 +1,20 @@
+import {Component, ViewChild, ElementRef} from '@angular/core';
+
+@Component({
+ selector: 'openaire-search-find',
+ template: `
+
+
+ `,
+ })
+export class OpenaireSearchComponent{
+ constructor ( ) {
+
+ }
+
+ ngOnInit() {
+}
+
+
+
+}
diff --git a/src/app/searchPages/simple/searchDataProviders-routing.module.ts b/src/app/searchPages/simple/searchDataProviders-routing.module.ts
new file mode 100644
index 0000000..1da0737
--- /dev/null
+++ b/src/app/searchPages/simple/searchDataProviders-routing.module.ts
@@ -0,0 +1,20 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import{OpenaireSearchDataprovidersComponent} from './searchDataproviders.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireSearchDataprovidersComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ }, canDeactivate: [PreviousRouteRecorder] }
+
+ ])
+ ]
+})
+export class SearchDataProvidersRoutingModule { }
diff --git a/src/app/searchPages/simple/searchDataProviders.module.ts b/src/app/searchPages/simple/searchDataProviders.module.ts
new file mode 100644
index 0000000..fbfaf1e
--- /dev/null
+++ b/src/app/searchPages/simple/searchDataProviders.module.ts
@@ -0,0 +1,24 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+import {OpenaireSearchDataprovidersComponent} from './searchDataproviders.component';
+import{ SearchDataProvidersRoutingModule} from './searchDataProviders-routing.module';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+import {SearchDataProvidersModule} from '../../openaireLibrary/searchPages/simple/searchDataProviders.module';
+@NgModule({
+ imports: [
+ CommonModule, FormsModule,
+SearchDataProvidersModule, SearchDataProvidersRoutingModule
+
+ ],
+ declarations: [
+ OpenaireSearchDataprovidersComponent
+ ],
+ providers:[FreeGuard,PreviousRouteRecorder, IsRouteEnabled],
+ exports: [
+ OpenaireSearchDataprovidersComponent
+ ]
+})
+export class LibSearchDataProvidersModule { }
diff --git a/src/app/searchPages/simple/searchDataproviders.component.ts b/src/app/searchPages/simple/searchDataproviders.component.ts
new file mode 100644
index 0000000..d71593a
--- /dev/null
+++ b/src/app/searchPages/simple/searchDataproviders.component.ts
@@ -0,0 +1,14 @@
+import {Component, Input, ViewChild} from '@angular/core';
+
+@Component({
+ selector: 'openaire-search-dataproviders',
+ template: `
+
+
+
+
+ `
+})
+export class OpenaireSearchDataprovidersComponent {
+
+}
diff --git a/src/app/searchPages/simple/searchDatasets-routing.module.ts b/src/app/searchPages/simple/searchDatasets-routing.module.ts
new file mode 100644
index 0000000..8edc0a7
--- /dev/null
+++ b/src/app/searchPages/simple/searchDatasets-routing.module.ts
@@ -0,0 +1,23 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import{OpenaireSearchDatasetsComponent} from './searchDatasets.component';
+import { EnvironmentSpecificResolver} from '../../openaireLibrary/utils/properties/environmentSpecificResolver';
+
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireSearchDatasetsComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ }, canDeactivate: [PreviousRouteRecorder] , resolve: { envSpecific: EnvironmentSpecificResolver }},
+
+ ])
+ ]
+})
+export class SearchDatasetsRoutingModule { }
diff --git a/src/app/searchPages/simple/searchDatasets.component.ts b/src/app/searchPages/simple/searchDatasets.component.ts
new file mode 100644
index 0000000..8a0231f
--- /dev/null
+++ b/src/app/searchPages/simple/searchDatasets.component.ts
@@ -0,0 +1,14 @@
+import {Component, Input, ViewChild} from '@angular/core';
+
+@Component({
+ selector: 'openaire-search-datasets',
+ template: `
+
+
+
+ `
+})
+
+export class OpenaireSearchDatasetsComponent {
+
+}
diff --git a/src/app/searchPages/simple/searchDatasets.module.ts b/src/app/searchPages/simple/searchDatasets.module.ts
new file mode 100644
index 0000000..3116a59
--- /dev/null
+++ b/src/app/searchPages/simple/searchDatasets.module.ts
@@ -0,0 +1,28 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import{ SearchDatasetsRoutingModule} from './searchDatasets-routing.module';
+import{OpenaireSearchDatasetsComponent} from './searchDatasets.component';
+
+import {SearchDatasetsModule} from '../../openaireLibrary/searchPages/simple/searchDatasets.module';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule,
+ SearchDatasetsModule , SearchDatasetsRoutingModule
+
+ ],
+ declarations: [
+ OpenaireSearchDatasetsComponent
+ ],
+ providers:[FreeGuard,PreviousRouteRecorder, IsRouteEnabled],
+ exports: [
+ OpenaireSearchDatasetsComponent
+ ]
+})
+export class LibSearchDatasetsModule { }
diff --git a/src/app/searchPages/simple/searchOrganizations-routing.module.ts b/src/app/searchPages/simple/searchOrganizations-routing.module.ts
new file mode 100644
index 0000000..7e3a709
--- /dev/null
+++ b/src/app/searchPages/simple/searchOrganizations-routing.module.ts
@@ -0,0 +1,22 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import{OpenaireSearchOrganizationsComponent} from './searchOrganizations.component';
+
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireSearchOrganizationsComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ }, canDeactivate: [PreviousRouteRecorder] }
+
+ ])
+ ]
+})
+export class SearchOrganizationsRoutingModule { }
diff --git a/src/app/searchPages/simple/searchOrganizations.component.ts b/src/app/searchPages/simple/searchOrganizations.component.ts
new file mode 100644
index 0000000..a61a20d
--- /dev/null
+++ b/src/app/searchPages/simple/searchOrganizations.component.ts
@@ -0,0 +1,15 @@
+import {Component, Input, ViewChild} from '@angular/core';
+
+@Component({
+ selector: 'openaire-search-organizations',
+ template: `
+
+
+
+
+ `
+
+})
+export class OpenaireSearchOrganizationsComponent {
+
+}
diff --git a/src/app/searchPages/simple/searchOrganizations.module.ts b/src/app/searchPages/simple/searchOrganizations.module.ts
new file mode 100644
index 0000000..f56c7c4
--- /dev/null
+++ b/src/app/searchPages/simple/searchOrganizations.module.ts
@@ -0,0 +1,28 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import{ SearchOrganizationsRoutingModule} from './searchOrganizations-routing.module';
+import{OpenaireSearchOrganizationsComponent} from './searchOrganizations.component';
+
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+import { SearchOrganizationsModule} from '../../openaireLibrary/searchPages/simple/searchOrganizations.module';
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule,
+ SearchOrganizationsRoutingModule, SearchOrganizationsModule
+
+ ],
+ declarations: [
+ OpenaireSearchOrganizationsComponent
+ ],
+ providers:[FreeGuard,PreviousRouteRecorder, IsRouteEnabled],
+ exports: [
+ OpenaireSearchOrganizationsComponent
+ ]
+})
+export class LibSearchOrganizationsModule { }
diff --git a/src/app/searchPages/simple/searchOrps-routing.module.ts b/src/app/searchPages/simple/searchOrps-routing.module.ts
new file mode 100644
index 0000000..ff122a5
--- /dev/null
+++ b/src/app/searchPages/simple/searchOrps-routing.module.ts
@@ -0,0 +1,23 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import{OpenaireSearchOrpsComponent} from './searchOrps.component';
+import { EnvironmentSpecificResolver} from '../../openaireLibrary/utils/properties/environmentSpecificResolver';
+
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireSearchOrpsComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ }, canDeactivate: [PreviousRouteRecorder] , resolve: { envSpecific: EnvironmentSpecificResolver }},
+
+ ])
+ ]
+})
+export class SearchOrpsRoutingModule { }
diff --git a/src/app/searchPages/simple/searchOrps.component.ts b/src/app/searchPages/simple/searchOrps.component.ts
new file mode 100644
index 0000000..f9a2111
--- /dev/null
+++ b/src/app/searchPages/simple/searchOrps.component.ts
@@ -0,0 +1,14 @@
+import {Component, Input, ViewChild} from '@angular/core';
+
+@Component({
+ selector: 'openaire-search-orps',
+ template: `
+
+
+
+ `
+})
+
+export class OpenaireSearchOrpsComponent {
+
+}
diff --git a/src/app/searchPages/simple/searchOrps.module.ts b/src/app/searchPages/simple/searchOrps.module.ts
new file mode 100644
index 0000000..dcbdf00
--- /dev/null
+++ b/src/app/searchPages/simple/searchOrps.module.ts
@@ -0,0 +1,28 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import{ SearchOrpsRoutingModule} from './searchOrps-routing.module';
+import{OpenaireSearchOrpsComponent} from './searchOrps.component';
+
+import {SearchOrpsModule} from '../../openaireLibrary/searchPages/simple/searchOrps.module';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule,
+ SearchOrpsModule , SearchOrpsRoutingModule
+
+ ],
+ declarations: [
+ OpenaireSearchOrpsComponent
+ ],
+ providers:[FreeGuard,PreviousRouteRecorder, IsRouteEnabled],
+ exports: [
+ OpenaireSearchOrpsComponent
+ ]
+})
+export class LibSearchOrpsModule { }
diff --git a/src/app/searchPages/simple/searchProjects-routing.module.ts b/src/app/searchPages/simple/searchProjects-routing.module.ts
new file mode 100644
index 0000000..1855ae0
--- /dev/null
+++ b/src/app/searchPages/simple/searchProjects-routing.module.ts
@@ -0,0 +1,20 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import{OpenaireSearchProjectsComponent} from './searchProjects.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireSearchProjectsComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ }, canDeactivate: [PreviousRouteRecorder] }
+
+ ])
+ ]
+})
+export class SearchProjectsRoutingModule { }
diff --git a/src/app/searchPages/simple/searchProjects.component.ts b/src/app/searchPages/simple/searchProjects.component.ts
new file mode 100644
index 0000000..3617885
--- /dev/null
+++ b/src/app/searchPages/simple/searchProjects.component.ts
@@ -0,0 +1,14 @@
+import {Component, Input, ViewChild} from '@angular/core';
+
+@Component({
+ selector: 'openaire-search-projects',
+ template: `
+
+
+
+ `
+
+})
+export class OpenaireSearchProjectsComponent {
+
+}
diff --git a/src/app/searchPages/simple/searchProjects.module.ts b/src/app/searchPages/simple/searchProjects.module.ts
new file mode 100644
index 0000000..b526ef9
--- /dev/null
+++ b/src/app/searchPages/simple/searchProjects.module.ts
@@ -0,0 +1,25 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import{ SearchProjectsRoutingModule} from './searchProjects-routing.module';
+import{OpenaireSearchProjectsComponent} from './searchProjects.component';
+
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+import { SearchProjectsModule} from '../../openaireLibrary/searchPages/simple/searchProjects.module';
+@NgModule({
+ imports: [
+ CommonModule, FormsModule, SearchProjectsRoutingModule, SearchProjectsModule
+
+ ],
+ declarations: [
+ OpenaireSearchProjectsComponent
+ ],
+ providers:[FreeGuard,PreviousRouteRecorder, IsRouteEnabled],
+ exports: [
+ OpenaireSearchProjectsComponent
+ ]
+})
+export class LibSearchProjectsModule { }
diff --git a/src/app/searchPages/simple/searchPublications-routing.module.ts b/src/app/searchPages/simple/searchPublications-routing.module.ts
new file mode 100644
index 0000000..93ee9d1
--- /dev/null
+++ b/src/app/searchPages/simple/searchPublications-routing.module.ts
@@ -0,0 +1,20 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import{OpenaireSearchPublicationsComponent} from './searchPublications.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireSearchPublicationsComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
+ redirect: '/error', community : 'openaire'
+ }, canDeactivate: [PreviousRouteRecorder] }
+
+ ])
+ ]
+})
+export class SearchPublicationsRoutingModule { }
diff --git a/src/app/searchPages/simple/searchPublications.component.ts b/src/app/searchPages/simple/searchPublications.component.ts
new file mode 100644
index 0000000..d5051da
--- /dev/null
+++ b/src/app/searchPages/simple/searchPublications.component.ts
@@ -0,0 +1,16 @@
+import {Component, Input, ViewChild} from '@angular/core';
+
+@Component({
+ selector: 'openaire-search-publications',
+ template: `
+
+
+
+
+ `
+
+})
+export class OpenaireSearchPublicationsComponent {
+
+
+}
diff --git a/src/app/searchPages/simple/searchPublications.module.ts b/src/app/searchPages/simple/searchPublications.module.ts
new file mode 100644
index 0000000..0209c7c
--- /dev/null
+++ b/src/app/searchPages/simple/searchPublications.module.ts
@@ -0,0 +1,28 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import{ SearchPublicationsRoutingModule} from './searchPublications-routing.module';
+import{OpenaireSearchPublicationsComponent} from './searchPublications.component';
+
+import { SearchPublicationsModule} from '../../openaireLibrary/searchPages/simple/searchPublications.module';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule, SearchPublicationsModule,
+
+ SearchPublicationsRoutingModule
+
+ ],
+ declarations: [
+ OpenaireSearchPublicationsComponent
+ ],
+ providers:[FreeGuard,PreviousRouteRecorder, IsRouteEnabled],
+ exports: [
+ OpenaireSearchPublicationsComponent
+ ]
+})
+export class LibSearchPublicationsModule { }
diff --git a/src/app/searchPages/simple/searchSoftware-routing.module.ts b/src/app/searchPages/simple/searchSoftware-routing.module.ts
new file mode 100644
index 0000000..87bfd84
--- /dev/null
+++ b/src/app/searchPages/simple/searchSoftware-routing.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import {OpenaireSearchSoftwareComponent} from './searchSoftware.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: OpenaireSearchSoftwareComponent, canActivate: [FreeGuard, IsRouteEnabled], canDeactivate: [PreviousRouteRecorder] }
+
+ ])
+ ]
+})
+export class SearchSoftwareRoutingModule { }
diff --git a/src/app/searchPages/simple/searchSoftware.component.ts b/src/app/searchPages/simple/searchSoftware.component.ts
new file mode 100644
index 0000000..da673ff
--- /dev/null
+++ b/src/app/searchPages/simple/searchSoftware.component.ts
@@ -0,0 +1,14 @@
+import {Component, Input, ViewChild} from '@angular/core';
+
+@Component({
+ selector: 'openaire-search-software',
+ template: `
+
+
+
+ `
+})
+
+export class OpenaireSearchSoftwareComponent {
+
+}
diff --git a/src/app/searchPages/simple/searchSoftware.module.ts b/src/app/searchPages/simple/searchSoftware.module.ts
new file mode 100644
index 0000000..aef096f
--- /dev/null
+++ b/src/app/searchPages/simple/searchSoftware.module.ts
@@ -0,0 +1,27 @@
+import { NgModule} from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import{ SearchSoftwareRoutingModule} from './searchSoftware-routing.module';
+import{OpenaireSearchSoftwareComponent} from './searchSoftware.component';
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'
+
+
+import { SearchSoftwareModule} from '../../openaireLibrary/searchPages/simple/searchSoftware.module';
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule, SearchSoftwareModule, SearchSoftwareRoutingModule
+ ],
+ declarations: [
+ OpenaireSearchSoftwareComponent
+ ],
+ providers:[FreeGuard,PreviousRouteRecorder, IsRouteEnabled
+ ],
+ exports: [
+ OpenaireSearchSoftwareComponent
+ ]
+})
+export class LibSearchSoftwareModule { }
diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts
new file mode 100644
index 0000000..f0ce0d2
--- /dev/null
+++ b/src/app/shared/shared.module.ts
@@ -0,0 +1,45 @@
+import { NgModule, ModuleWithProviders } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { RouterModule } from '@angular/router';
+import { FormsModule, ReactiveFormsModule } from '@angular/forms';
+
+
+const MODULES = [
+ // Do NOT include UniversalModule, HttpModule, or JsonpModule here
+ CommonModule,
+ RouterModule,
+ FormsModule,
+ ReactiveFormsModule
+];
+
+const PIPES = [
+ // put pipes here
+];
+
+const COMPONENTS = [
+ // put shared components here
+];
+
+
+
+@NgModule({
+ imports: [
+ ...MODULES
+ ],
+ declarations: [
+ ...PIPES,
+ ...COMPONENTS
+ ],
+ exports: [
+ ...MODULES,
+ ...PIPES,
+ ...COMPONENTS
+ ]
+})
+export class SharedModule {
+ static forRoot(): ModuleWithProviders {
+ return {
+ ngModule: SharedModule,
+ };
+ }
+}
diff --git a/src/assets/aggregator-custom.css b/src/assets/aggregator-custom.css
new file mode 100644
index 0000000..066c78c
--- /dev/null
+++ b/src/assets/aggregator-custom.css
@@ -0,0 +1,105 @@
+:root {
+ --portal-main-color: #313179;
+ --portal-main-contrast: white;
+ --portal-dark-color: #4687E6;
+ --openaire-main-color: #313179;
+
+ --explore-portal-color: #D95F2D;
+ --provide-portal-color: #37C7E9;
+ --monitor-portal-color: #9ABB55;
+ --connect-portal-color: #EBB13E;
+ --develop-portal-color: #DA65AB;
+
+ --explore-portal-lower-tone: #a0462c;
+ --provide-portal-lower-tone: #3A8FA3;
+ --monitor-portal-lower-tone: #7c9144;
+ --connect-portal-lower-tone: #b48536;
+ --develop-portal-lower-tone: #9f4e7e;
+}
+
+
+.tm-toolbar .uk-subnav-line .custom-explore-li {
+ background:var(--portal-main-color) !important;
+}
+
+.mainPageSearchForm{
+ background-image: /*linear-gradient(rgba(255, 255, 255, 0.5),rgba(255, 255, 255, 0.5)),*/ url('home.jpg');
+
+}
+
+.mainPageBottomInfo{
+ background: linear-gradient( rgba(255, 255, 255, 0.5),rgba(255, 255, 255, 0.5)), url('home.jpg');
+ background-attachment: scroll, scroll;
+ background-size: auto auto, auto auto;
+ background-size: cover;
+ background-attachment: fixed;
+ box-sizing: border-box;
+ min-height: calc(100vh - 412.767px);
+}
+.box-links .uk-card-header:hover {
+ text-decoration: underline;
+ text-decoration-color: currentcolor;
+ text-decoration-color: #90929D;
+}
+
+.searchForm, .generalSearchForm,
+.publicationsSearchForm,
+.projectsSearchForm, .projectsTableSearchForm,
+.organizationsSearchForm,
+.datasetsSearchForm,
+.softwareSearchForm,
+.orpsSearchForm,
+.datasourcesSearchForm, .compatibleDatasourcesSearchForm, .compatibleDatasourcesTableSearchForm, .datasourcesTableSearchForm,
+ .journalsSearchForm, .journalsTableSearchForm,
+.entityRegistriesSearchForm, .entityRegistriesTableSearchForm {
+
+ background: url('./Εxplore-sub.jpg') right !important;
+
+}
+
+.ask-explore.uk-grid-divider > :not(.uk-first-column)::before {
+ border-left: 1px solid var(--portal-main-color) ;
+}
+
+.questions .tm-child-list-divider > ul > li:nth-child(n+2), .questions .uk-list-divider > li:nth-child(n+2) {
+ border-top: 1px solid #c5c5c5;
+}
+
+.questions {
+ font-size: 15px;
+ font-weight: bold;
+ color: #4687E6;
+}
+
+.uk-card-explore {
+ background-color: var(--portal-main-color);
+ color: #fff !important;
+}
+
+.uk-card-explore .uk-h3 {
+ color: #fff !important;
+}
+
+.uk-card-explore .uk-h6 a {
+ color: #fff !important;
+ text-decoration: underline;
+}
+
+.uk-card-explore .uk-h5 {
+ color: #fff !important;
+ text-transform: uppercase;
+ font-size: 15px;
+ font-weight: bolder;
+}
+
+.emphasis {
+ color: #000;
+ font-size: 17px;
+ font-weight: bold;
+}
+
+.portal-color.emphasis {
+ color: #37C7E9;
+ font-size: 60px;
+ font-weight: 300;
+}
diff --git a/src/assets/ask-explore.svg b/src/assets/ask-explore.svg
new file mode 100644
index 0000000..c1a0493
--- /dev/null
+++ b/src/assets/ask-explore.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/env-properties.json b/src/assets/env-properties.json
new file mode 100644
index 0000000..dbe907d
--- /dev/null
+++ b/src/assets/env-properties.json
@@ -0,0 +1,99 @@
+{
+ "environment" : "development",
+ "enablePiwikTrack" : false,
+ "enableHelper" : true,
+ "useCache" : false,
+ "metricsAPIURL" : "https://beta.services.openaire.eu/usagestats/",
+ "framesAPIURL" : "https://beta.openaire.eu/stats3/",
+ "statisticsAPIURL" : "http://vatopedi.di.uoa.gr:8080/stats/",
+ "statisticsFrameAPIURL":"https://beta.openaire.eu/stats/",
+ "claimsAPIURL" : "http://scoobydoo.di.uoa.gr:8080/dnet-claims-service-2.0.0-SNAPSHOT/rest/claimsService/",
+ "searchAPIURLLAst" : "https://beta.services.openaire.eu/search/v2/api/",
+ "searchResourcesAPIURL" : "https://beta.services.openaire.eu/search/v2/api/resources",
+ "openCitationsAPIURL" : "https://services.openaire.eu/opencitations/getCitations?id=",
+ "csvAPIURL" : "https://beta.services.openaire.eu/search/v2/api/reports",
+ "searchCrossrefAPIURL" : "https://api.crossref.org/works",
+ "searchDataciteAPIURL" : "https://api.datacite.org/works",
+
+ "searchOrcidURL" : "https://pub.orcid.org/v2.1/",
+
+ "pmidURL" : "http://www.ncbi.nlm.nih.gov/pubmed/",
+ "doiURL" : "https://dx.doi.org/",
+ "cordisURL" : "http://cordis.europa.eu/projects/",
+ "pmcURL" : "http://europepmc.org/articles/",
+ "handleURL" : "http://hdl.handle.net/",
+ "openDoarURL": "http://v2.sherpa.ac.uk/id/repository/",
+ "r3DataURL": "http://service.re3data.org/repository/",
+ "zenodo" : "https://zenodo.org/",
+ "openAccess" : "https://www.openaire.eu/support/faq#article-id-234",
+ "openAccessRepo" : "https://www.openaire.eu/support/faq#article-id-310",
+ "fp7Guidlines" : "https://www.openaire.eu/open-access-in-fp7-seventh-research-framework-programme",
+ "h2020Guidlines" : "https://www.openaire.eu/oa-publications/h2020/open-access-in-horizon-2020",
+ "ercGuidlines" : "http://erc.europa.eu/sites/default/files/document/file/ERC_Open_Access_Guidelines-revised_2014.pdf",
+ "helpdesk" : "https://www.openaire.eu/support/helpdesk",
+ "uploadService" : "http://scoobydoo.di.uoa.gr:8000/upload",
+
+ "vocabulariesAPI" :"https://beta.services.openaire.eu/provision/mvc/vocabularies/",
+
+ "piwikBaseUrl" :"https://analytics.openaire.eu/piwik.php?idsite=",
+ "piwikSiteId" : "6",
+
+ "loginUrl" :"http://scoobydoo.di.uoa.gr:8080/dnet-openaire-users-1.0.0-SNAPSHOT/openid_connect_login",
+
+ "logoutUrl" :"https://aai.openaire.eu/proxy/saml2/idp/SingleLogoutService.php?ReturnTo=",
+
+ "cookieDomain" :".di.uoa.gr",
+
+ "feedbackmail" :"openaire.test@gmail.com",
+
+ "helperPageUrl" :"http://scoobydoo.di.uoa.gr:16000/api/page/route",
+
+ "cacheUrl" :"http://scoobydoo.di.uoa.gr:3000/get?url=",
+
+ "adminToolsAPIURL" :"http://duffy.di.uoa.gr:8080/uoa-admin-tools/",
+
+ "adminToolsCommunity" :"openaire",
+
+ "datasourcesAPI": "https://beta.services.openaire.eu/openaire/ds/search/",
+ "contextsAPI":"https://dev-openaire.d4science.org/openaire/context",
+ "communityAPI": "https://dev-openaire.d4science.org/openaire/community/",
+
+ "csvLimit": 2000,
+ "pagingLimit": 20,
+ "resultsPerPage": 10,
+
+ "baseLink" : "https://beta.explore.openaire.eu",
+
+ "searchLinkToPublication" : "/search/publication?articleId=",
+ "searchLinkToProject" : "/search/project?projectId=",
+ "searchLinkToDataProvider" : "/search/dataprovider?datasourceId=",
+ "searchLinkToDataset" : "/search/dataset?datasetId=",
+ "searchLinkToOrp" : "/search/other?orpId=",
+ "searchLinkToOrganization" : "/search/organization?organizationId=",
+
+ "searchLinkToPublications" : "/search/find/publications",
+ "searchLinkToDataProviders" : "/search/find/dataproviders",
+ "searchLinkToProjects" : "/search/find/projects",
+ "searchLinkToDatasets" : "/search/find/datasets",
+ "searchLinkToSoftware" : "/search/find/software",
+ "searchLinkToOrps" : "/search/find/other",
+ "searchLinkToOrganizations" : "/search/find/organizations",
+ "searchLinkToCompatibleDataProviders" : "/search/content-providers",
+ "searchLinkToCompatibleDataProvidersTable" : "/search/content-providers-table",
+ "searchLinkToEntityRegistriesDataProviders" : "/search/entity-registries",
+ "searchLinkToEntityRegistriesDataProvidersTable" : "/search/entity-registries-table",
+ "searchLinkToJournals" : "/search/journals",
+ "searchLinkToJournalsTable" : "/search/journals-table",
+
+ "searchLinkToAdvancedPublications" : "/search/advanced/publications",
+ "searchLinkToAdvancedProjects" : "/search/advanced/projects",
+ "searchLinkToAdvancedDatasets" : "/search/advanced/datasets",
+ "searchLinkToAdvancedSoftware" : "/search/advanced/software",
+ "searchLinkToAdvancedOrps" : "/search/advanced/other",
+ "searchLinkToAdvancedDataProviders" : "/search/advanced/dataproviders",
+ "searchLinkToAdvancedOrganizations" : "/search/advanced/organizations",
+ "lastIndexInformationLink" : "https://www.openaire.eu/aggregation-and-content-provision-workflows",
+ "showLastIndexInformationLink" : true,
+ "widgetLink" : "https://beta.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
+ "claimsInformationLink": "https://www.openaire.eu/linking-beta"
+}
diff --git a/src/assets/explore.svg b/src/assets/explore.svg
new file mode 100644
index 0000000..c41bb4d
--- /dev/null
+++ b/src/assets/explore.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/home.jpg b/src/assets/home.jpg
new file mode 100644
index 0000000..b0fae78
Binary files /dev/null and b/src/assets/home.jpg differ
diff --git a/src/assets/link.svg b/src/assets/link.svg
new file mode 100644
index 0000000..b88f9df
--- /dev/null
+++ b/src/assets/link.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/lock.svg b/src/assets/lock.svg
new file mode 100644
index 0000000..3e7671d
--- /dev/null
+++ b/src/assets/lock.svg
@@ -0,0 +1 @@
+
diff --git a/src/assets/share.svg b/src/assets/share.svg
new file mode 100644
index 0000000..3e22c5a
--- /dev/null
+++ b/src/assets/share.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/sitemap.xml b/src/assets/sitemap.xml
new file mode 100644
index 0000000..fd72dfa
--- /dev/null
+++ b/src/assets/sitemap.xml
@@ -0,0 +1,88 @@
+
+
+
+
+ weekly
+ 0.5
+
+
+
+ weekly
+ 0.5
+
+
+
+ weekly
+ 0.5
+
+
+
+ weekly
+ 0.5
+
+
+
+ weekly
+ 0.5
+
+
+
+ weekly
+ 0.5
+
+
+
+ weekly
+ 0.5
+
+
+
+ weekly
+ 0.5
+
+
+
+ weekly
+ 0.5
+
+
+
+ weekly
+ 0.5
+
+
+
+ weekly
+ 0.5
+
+
+
+ weekly
+ 0.5
+
+
+
+ weekly
+ 0.5
+
+
+
+ weekly
+ 0.5
+
+
+
+ weekly
+ 0.5
+
+
+
+ weekly
+ 0.5
+
+
+
+ weekly
+ 0.5
+
+
diff --git a/src/assets/sky_bw3.png b/src/assets/sky_bw3.png
new file mode 100644
index 0000000..efff414
Binary files /dev/null and b/src/assets/sky_bw3.png differ
diff --git a/src/assets/Εxplore-sub.jpg b/src/assets/Εxplore-sub.jpg
new file mode 100644
index 0000000..78d4e8d
Binary files /dev/null and b/src/assets/Εxplore-sub.jpg differ
diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts
new file mode 100644
index 0000000..3612073
--- /dev/null
+++ b/src/environments/environment.prod.ts
@@ -0,0 +1,3 @@
+export const environment = {
+ production: true
+};
diff --git a/src/environments/environment.ts b/src/environments/environment.ts
new file mode 100644
index 0000000..b7f639a
--- /dev/null
+++ b/src/environments/environment.ts
@@ -0,0 +1,8 @@
+// The file contents for the current environment will overwrite these during build.
+// The build system defaults to the dev environment which uses `environment.ts`, but if you do
+// `ng build --env=prod` then `environment.prod.ts` will be used instead.
+// The list of which env maps to which file can be found in `.angular-cli.json`.
+
+export const environment = {
+ production: false
+};
diff --git a/src/index.html b/src/index.html
new file mode 100644
index 0000000..1839007
--- /dev/null
+++ b/src/index.html
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Search OpenAIRE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main.server.ts b/src/main.server.ts
new file mode 100644
index 0000000..d7c01cd
--- /dev/null
+++ b/src/main.server.ts
@@ -0,0 +1 @@
+export { AppServerModule } from './app/app.server.module';
diff --git a/src/main.ts b/src/main.ts
new file mode 100644
index 0000000..9e8c381
--- /dev/null
+++ b/src/main.ts
@@ -0,0 +1,13 @@
+import { enableProdMode } from '@angular/core';
+import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
+
+import { AppModule } from './app/app.module';
+import { environment } from './environments/environment';
+
+if (environment.production) {
+ enableProdMode();
+}
+
+document.addEventListener('DOMContentLoaded', () => {
+ platformBrowserDynamic().bootstrapModule(AppModule);
+});
diff --git a/src/polyfills.ts b/src/polyfills.ts
new file mode 100644
index 0000000..98fd841
--- /dev/null
+++ b/src/polyfills.ts
@@ -0,0 +1,72 @@
+/**
+ * This file includes polyfills needed by Angular and is loaded before the app.
+ * You can add your own extra polyfills to this file.
+ *
+ * This file is divided into 2 sections:
+ * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
+ * 2. Application imports. Files imported after ZoneJS that should be loaded before your main
+ * file.
+ *
+ * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
+ * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
+ * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
+ *
+ * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html
+ */
+
+/***************************************************************************************************
+ * BROWSER POLYFILLS
+ */
+
+/** IE9, IE10 and IE11 requires all of the following polyfills. **/
+import 'core-js/es6/symbol';
+import 'core-js/es6/object';
+import 'core-js/es6/function';
+import 'core-js/es6/parse-int';
+import 'core-js/es6/parse-float';
+import 'core-js/es6/number';
+import 'core-js/es6/math';
+import 'core-js/es6/string';
+import 'core-js/es6/date';
+import 'core-js/es6/array';
+import 'core-js/es6/regexp';
+import 'core-js/es6/map';
+import 'core-js/es6/weak-map';
+import 'core-js/es6/set';
+
+/** IE10 and IE11 requires the following for NgClass support on SVG elements */
+// import 'classlist.js'; // Run `npm install --save classlist.js`.
+
+/** Evergreen browsers require these. **/
+import 'core-js/es6/reflect';
+import 'core-js/es7/reflect';
+
+
+/**
+ * Required to support Web Animations `@angular/animation`.
+ * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation
+ **/
+// import 'web-animations-js'; // Run `npm install --save web-animations-js`.
+
+
+
+/***************************************************************************************************
+ * Zone JS is required by Angular itself.
+ */
+import 'zone.js/dist/zone'; // Included with Angular CLI.
+
+
+
+/***************************************************************************************************
+ * APPLICATION IMPORTS
+ */
+
+/**
+ * Date, currency, decimal and percent pipes.
+ * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10
+ */
+// import 'intl'; // Run `npm install --save intl`.
+/**
+ * Need to import at least one locale-data with intl.
+ */
+// import 'intl/locale-data/jsonp/en';
diff --git a/src/robots.txt b/src/robots.txt
new file mode 100644
index 0000000..0193584
--- /dev/null
+++ b/src/robots.txt
@@ -0,0 +1,19 @@
+User-Agent: *
+Disallow: /cache
+Disallow: /upload
+Disallow: /participate/claim
+Disallow: /participate/direct-claim
+Disallow: /myclaims
+Disallow: /claims
+
+#Disallow: /
+
+
+Sitemap: https://explore.openaire.eu/sitemap.xml
+Sitemap: https://explore.openaire.eu/publicationSitemap.xml
+Sitemap: https://explore.openaire.eu/datasetSitemap.xml
+Sitemap: https://explore.openaire.eu/softwareSitemap.xml
+Sitemap: https://explore.openaire.eu/otherSitemap.xml
+Sitemap: https://explore.openaire.eu/projectSitemap.xml
+Sitemap: https://explore.openaire.eu/organizationSitemap.xml
+Sitemap: https://explore.openaire.eu/dataproviderSitemap.xml
diff --git a/src/styles.css b/src/styles.css
new file mode 100644
index 0000000..1927393
--- /dev/null
+++ b/src/styles.css
@@ -0,0 +1,2 @@
+/* You can add global styles to this file, and also import other style files */
+@import '~@angular/material/prebuilt-themes/indigo-pink.css';
diff --git a/src/tsconfig.app.json b/src/tsconfig.app.json
new file mode 100644
index 0000000..16b7847
--- /dev/null
+++ b/src/tsconfig.app.json
@@ -0,0 +1,15 @@
+{
+ "extends": "../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "../out-tsc/app",
+ "baseUrl": "./",
+ "module": "es2015",
+ "types": [
+ "node"
+ ]
+ },
+ "exclude": [
+ "test.ts",
+ "**/*.spec.ts"
+ ]
+}
diff --git a/src/tsconfig.server.json b/src/tsconfig.server.json
new file mode 100644
index 0000000..7e55994
--- /dev/null
+++ b/src/tsconfig.server.json
@@ -0,0 +1,21 @@
+{
+ "extends": "../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "../out-tsc/app",
+ "baseUrl": "./",
+ // Set the module format to "commonjs":
+ "module": "commonjs",
+ "types": [
+ "node"
+ ]
+ },
+ "exclude": [
+ "test.ts",
+ "**/*.spec.ts"
+ ],
+ // Add "angularCompilerOptions" with the AppServerModule you wrote
+ // set as the "entryModule".
+ "angularCompilerOptions": {
+ "entryModule": "app/app.server.module#AppServerModule"
+ }
+}