Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

One-Click-Apply Feature #203

Closed
cbleek opened this issue Apr 27, 2016 · 4 comments
Closed

One-Click-Apply Feature #203

cbleek opened this issue Apr 27, 2016 · 4 comments

Comments

@cbleek
Copy link
Member

cbleek commented Apr 27, 2016

It should be possible for a user to apply with one klick to a job posting. The following things have to be modified get this feature.

Our ATS Mode Fieldset enables the user to define, how an application button is integrated into his job posting. A javascript shows/hides elements depending, which mode is selected (The javascript https://github.com/cross-solution/YAWIK/blob/develop/module/Jobs/public/js/form.ats-mode.js currently does not work. It should be fixed.)

auswahl_926

When selecting the mode="intern", an additional checkbox labled "One-Click-Apply" should appear. By enabling the the One-Click-Apply feature the user should select the social networks (linkedin, xing, facebook)

let me point you to the code.

ATS Mode Fieldset propably need 2 more attributes. Maybe (bool) "oneClickApply" and (array) "oneClickApplyProfiles"

https://github.com/cross-solution/YAWIK/blob/develop/module/Jobs/src/Jobs/Form/AtsModeFieldset.php

Depending on those attributes, the Apply Button has to be modified in

https://github.com/cross-solution/YAWIK/blob/develop/module/Jobs/src/Jobs/View/Helper/ApplyUrl.php

The additional Attributes have to be defined in the Entity.

https://github.com/cross-solution/YAWIK/blob/develop/module/Jobs/src/Jobs/Entity/AtsMode.php

After these changes, it should be possible to create a Job posting containing a One-Click-Apply Button.

We probably need an additional Contoller which gets the profile from the social network and attaches it to the application. In addition, the contact data have to be mapped to the Applications/Contact Entity.

@cbleek cbleek added this to the v0.25 milestone Apr 27, 2016
@TiSiE
Copy link
Member

TiSiE commented Apr 28, 2016

Clarification: What @cbleek wrote about the apply uri is not right.

The OneClick apply setting must affect the rendering of the apply button in the job template view.

There are three templates available at the moment, which are located in
/module/Jobs/public/templates

The apply button currently is rendered completely in the view
(e.g.: default/index.phtml#L82-L83).

The ApplyUri is assembled in
/module/Jobs/src/Jobs/Filter/ViewModelTemplateFilterAbstract.php#L146

There will be more than one apply uri if the feature is implemented, so we need to handle this.

To keep the job templates simple, it might be useful to create a view helper "ApplyButton" (or maybe use a better/other name) that will take care of the rendering. To let users keep the full control over the design, this view helper must also be able to get a view partial name passed, which it then uses to render the buttons.

You will have to figure out, how the apply uris will get to the job template (and the button partial).


Some files you might want to look at:
/module/Jobs/src/Jobs/Filter/ViewModelTemplateFilterJob.php
/module/Jobs/src/Jobs/Controller/TemplateController.php#L52
/module/Jobs/view/iframe/iFrameInjection.phtml

@fedys
Copy link
Collaborator

fedys commented Apr 28, 2016

@TiSiE thank you for clarification and hints

@cbleek
Copy link
Member Author

cbleek commented Apr 29, 2016

The apply one-click-apply buttons have to be integrated directly into to job posting. Example:

auswahl_930

Currently a user can integrate an apply button into a template by:

<?php if ($this->uriApply): ?>
    <div class="apply">
        <a target="_new" class="button button-primary" href="<?php echo $this->uriApply ?>" rel="nofollow">
         <strong><?php echo $this->translate("Apply now")?></strong>
        </a>
    </div>
<?php endif; ?>

This way, the user has the full controll about the layout of the Apply Button. The Idea is, that a user can integrate the apply button using a view helper.

<?php echo $this->renderButton($this->applyButton) ?>

This view helper takes all the logic (is oneClick apply is enabled, which buttons have to be displayed). The view helper should take an optional options array. So if a user needs to modify the layout of the buttons, he should be able to do it like this

<?php 
  echo $this->renderButton(
    $this->applyButton,
      [
        'partial'=>'myviewpartial.phtml',
        'one-click-apply-only'=>'true',
        'label' = 'apply now',
        'one-click-apply-label'=>'apply with',
        'send-application-immediently' => false
      ]
  ) 
?>

By clicking on those Buttons, an application should be send immediently. Means, we need an additional action in the ApplyController. Let's name it 'oneClickApply'. This action pulls the users profile from the social network and attaches it to the application

@TiSiE can you go into detail here?

The optional parameters of the view helper:

  • 'partial': location of a view partial
  • 'one-click-apply-only': if true, the normal apply button to the application form is hidden,
  • 'label': label of the apply button, which leads to the application form,
  • 'one-click-apply-label'=> label of all one-click-apply buttons,
  • 'send-application-immediently' => in true, the application is send immediently, if false the application form is prefilled with the users social network profile

Better option keys are welcome:-)

@cbleek
Copy link
Member Author

cbleek commented May 4, 2016

Feature successfully completed.

@cbleek cbleek closed this as completed May 4, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants